我想知道如何使用CouchDB的map/reduce与多个参数.例如,如果我的球队有年龄和性别的球员,我想我会为我的地图功能做这个:
"function(doc){
if(doc.team_name) {
emit(doc.team_name, doc);
}
}"
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何编写一个reduce函数来获得团队中最年长的男性玩家或最年轻的女性或任意查询.我可以在URL中传入参数,还是必须编写多个视图?
提前谢谢,
本
我是数据库的新手,但我认为我终于遇到平面文件不能正常工作的情况.
我正在编写一个程序来分析多人游戏的结果,每个游戏可以将任意数量的玩家分组到任意数量的团队中.我希望允许玩家在游戏中获胜,打平或离开(并根据团队表现获胜/失败).
我也可能希望存储历史玩家评分(除非从他们的游戏历史中重新计算得更快),所以我不知道这是否意味着将每个玩家的评级与每个游戏一起存储,或者为每个玩家分别设置一个表,或者是什么.
所以我做了一些研究,发现MongoDB没有做fsync(),这意味着当你告诉数据库写一些东西时,数据库可能会告诉你它已经写好了,尽管它不是.这不是反对CRUD吗?
如果我是对的,有什么好的理由吗?
我正在使用CouchDB,我有一种情况,其中有一堆文档键入用户ID.我希望能够发送单个查询来更新所有这些文档中的特定字段.例如,当收到通知时,我希望通过传入通知所适用的用户列表和通知消息来更新每个用户文档.
我目前正在开发一个基于论坛(问题/答案)的应用程序.
使用C#ASP.net MVC和MongoDB进行数据存储.
我正在看模型.
我想要有这样的单独的类:(简化)
public class Question
{
public string ID { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public List<string> Tags { get; set; }
public DateTime DateCreated { get; set; }
public string ForumID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
回答
public class Answer
{
public string ID { get; set; }
public string QuestionID { get; set; }
public string Body { get; set; }
public DateTime …Run Code Online (Sandbox Code Playgroud) NoSQL数据库,特别是Cassandra以更低的成本为他们的高可扩展性承诺创造了很多嗡嗡声.
关于Cassandr被facebook,twitter,digg等社交网络专业人士采用,有很多嗡嗡声.但事实上,fb在最近的项目中不再考虑Cassandra,而且Facebook从未完全依赖于cassandra放弃mysql,尽管它仍然在与mySQL苦苦挣扎,其中Cassandra可能非常适合他们的模型.
此外,Digg在Cassandra实施方面并不是很成功(但不清楚是谁应该受到指责).
有了这个没有大的球员留下来自豪地和Cassandra一起玩...... !!
它仍然处于alpha阶段并且具有小社区,所以Cassandra应该被考虑用于大型项目的生产环境吗?对于社交网站,MySQL和Cassandra中的哪个数据库解决方案将是:
在上述所有内容中,我主要怀疑它的可靠性......我是否冒着Cassandra的数据冒险!! ???
你能给出的其他建议吗?
我在我的Ubuntu VM上安装了Cassandra的单节点安装.我使用自己的自定义架构修改了/ cassandra/conf下的cassandra.yaml文件.当我尝试在/ cassandra/bin下使用schematool实用程序时,我收到了错误:
当已存在时,无法导入架构
当我尝试从JMX控制台导航到MBEAN loadSchemaFromYAML时:
调用loadSchemaFromYAML的问题:java.rmi.unmarshalexception:错误解组返回;嵌套异常是:Java.lang.ClassNotFoundException:org.apache.cassandra.config.ConfigurationException(没有安全管理器:禁用RMI类加载器)
有人可以指出这里发生了什么,我如何加载我的架构?
谢谢
按照官方说明http://www.mongodb.org/display/DOCS/Quickstart+Unix和这篇文章http://blog.phy5ics.com/2010/03/27/installing-mongodb-on-mediatemple-dv /我刚刚设法在MediaTemples DV 4.0服务器上安装了mongodb(我想).
我在安装PHP驱动程序时遇到问题http://www.mongodb.org/display/DOCS/PHP+Language+Center
在SSH我得到这个:
[root @ xxx] #cd/var/tmp
[root @ xxx] #pecl install mongo
下载mongo-1.1.4.tgz ...
开始下载mongo-1.1.4.tgz(68,924字节)
..... ............完成:68,924字节
18个源文件,构建
运行:phpize
配置:
PHP Api版本:20090626
Zend Module Api No:20090626
Zend Extension Api No:220090626
/ usr/bin/phpize :/ var/tmp/mongo/build/shtool:/ bin/sh:bad interpreter:Permission denied
无法找到autoconf.请检查您的autoconf安装和$ PHP_AUTOCONF环境变量.然后,重新运行此脚本.错误:`phpize'失败了
我以root用户身份登录 - 我不明白为什么它失败以及我需要采取哪些步骤来安装PHP驱动程序?
谢谢
这可能会在这里(或其他地方)回答,但我一直在互联网上混合/没有观点.
除了像数据库这样的SQL之外,我从来没有使用过任何其他东西,然后我遇到了NoSQL DB(特别是mongoDB).我试了一下手.我这样做只是为了好玩,但到处谈论的是,当你在分布式服务器上使用它时它真的很棒.所以我想知道,如果以小型项目和事物为主,只有在个人电脑上才有用(以非平凡的方式)?当只有一台服务器时,是否有一些真正的优势.
虽然使用MapReduce会很酷(并且将它与同行讨论:d)当用于在单个服务器上运行的小项目时,它不会是一种过度杀伤吗?或者还有其他优点吗?我需要一些明确的想法.对不起,如果我在这听起来很天真.
可选:您使用的一些示例/如何使用将是很好的.
谢谢.
如果您可以选择所需的数据库并且必须存储(查询和更新)单词同义词,那么您会选择哪个数据库?你会如何存储它们?我们假设会有很多同义词(但我想这里的数据大小不会成为问题).