草庐IT

mongodb-cluster

全部标签

mongodb - 从子文档数组中删除数组元素

{"_id":ObjectId("5488303649f2012be0901e97"),"user_id":3,"my_shopping_list":{"books":[]},"my_library":{"books":[{"date_added":ISODate("2014-12-10T12:03:04.062Z"),"tag_text":["english"],"bdata_product_identifier":"a1","tag_id":["fa7ec571-4903-4aed-892a-011a8a411471"]},{"date_added":ISODate("2014-1

mongodb - mongo查询中文档中键的顺序,重要与否?

我想根据作为文档的值查找一个mongo文档。具体来说,我想找到一个'fb_creative_id'等于{'ios':'bob','android':'ann'}的文档。根据下面的控制台输出,似乎键/值的顺序很重要。这是正确的吗?>db.coll.findOne({'fb_creative_id':{'android':'ann','ios':'bob'}})null>db.coll.findOne({'fb_creative_id':{'ios':'bob','android':'ann'}}){"_id":ObjectId("5489c7885464bbcc5b6468c3"),"f

node.js - 由大结果集引起的 MongoDb 错误

在尝试获取完整结果集(~40个结果)时,我实际上遇到了一个问题。每个对象都有约260个子引用和其他对象。实际上,当我尝试显示30个对象时,它起作用了。但是当我尝试使用40时却没有。每个对象都是正确的,没有数据是无效的。似乎我已经超过了mongoDb或默认的Mongoskin(我用来访问mongodb的库)授权的最大大小(4或16mb),并且mongodb关闭了与我的应用程序的池连接。那么如何增加最大文档大小或最大结果集大小,以显示我需要的所有内容?编辑:我的收藏大小是8Mb(来自MongoVue信息)编辑2:我用来获取数据的代码:db.collection("roadmap").fin

MongoDB - 在副本集上切换服务器

我已经设置了2台运行MongoDB的机器(OSWindows)并且我已经设置了复制。我想知道是否有可能终止作为primary运行的进程以检查secondary是否会变成primary。这可能吗?如何?我刚刚终止了主进程,在我的mongo客户端(连接到主进程)上,它没有转向辅助服务器。提前致谢。 最佳答案 您需要设置第三台服务器作为仲裁器。仲裁者是决定其他服务器中的哪一个将成为主要服务器的人。通常,建议每个副本集有奇数个服务器(最小数量为1个主服务器,1个辅助服务器,1个仲裁服务器)这可能对你有帮助。http://docs.mongo

javascript - 使用动态键推送到 mongodb 数组

我正在尝试通过动态key推送数据数据库结构:{"obj1":{"array":[{"field1":"text1"},{"field2":"text2"}]},"id":123;},{"obj2":{"array":[{"field1":"text1"},{"field2":"text2"}]},"id":1234;}我正在尝试使用变量作为映射路径中的键:vara='obj2';db.collection('fooCollection').update({'id':1234},{$push:{a.array:{"field3":"text3"}}});如果我这样做:db.collect

Mongodb:似乎不遵守上限大小限制

在win2012上运行mongodbMongo数据库版本v2.6.4我们的集合是用这个参数创建的:capped:true,size:500000000000//500GB但是只有这一个集合的数据目录已经增长到720gb。在此mongo服务器上根本没有使用复制。我该怎么做才能将数据目录保持在500GB左右?这个数据库有时确实会插入大量数据,但我们还需要控制最大大小(并让它丢弃旧数据)。上限大小是否可能不包括索引?或者我应该考虑其他开销吗?(以及如何?或者?数据库统计>db.statsfunction(scale){returnthis.runCommand({dbstats:1,scal

javascript - 如何从 MongoDB 返回数据

我正在尝试使用Mongoose查询我的MongoDB数据库。我正在使用findOne按object_id进行搜索,目的是从相应的对象返回“开始”和“结束”字段。但是,我没有将两条消息之一记录到控制台,而是得到“未定义”。我的模式、我的事件集合中的示例对象和查询代码如下:Mongoose模式:varmongoose=require('mongoose');varSchema=mongoose.Schema;vareventSchema=newSchema({event:String,city:String,state:String,date:String,start:String,end

php - php (xampp) 中的 Mongodb 驱动安装

我正在使用xampp版本3.2.1,我想将mongodb与php一起使用。我的php版本是5.5.19,32位win操作系统,我的xampp中的编译器是MSVC11(VisualC++2012)。我尝试使用线程安全版本的mongodb驱动程序“php_mongo-1.6.0RC2-5.5-vc11.dll”。当我在我的php.ini文件中包含扩展名并在刷新apache服务器后运行phpinfo()时,mongodb未显示在phpinfo列表中。那么我的问题是什么或者我可以使用什么版本的mongo驱动程序?请帮忙。谢谢。 最佳答案 我

mongodb - 如何打印脚本的结果?

我有一个非常基本的脚本文件,我想运行它并输出它。内容如下:vardata=db.participants.aggregate({$match:{survey:ObjectId("548f9d0329ce94df22731668")}},{$group:{_id:"answers.question",totals:{$sum:1}}});printjson(data);我试过执行load('/path/to/script.js')但它会输出大量信息,如下所示:"_firstBatch":[{"_id":"answers.question","totals":18566}],"_curso

mongodb - Elixir Bson 解码器在 utf8 > 16#FF 上失败

我正在阅读mongodb并使用Bson.decoder(data)。在此过程中,数据变成包含{"unitˊs",1}的元组列表。String.to_atom("unitˊs")显然失败了,因为第5个字符是带有的“MODIFIERLETTERACUTEACCENT(U+02CA)”**(ArgumentError)参数错误:erlang.binary_to_atom("unitˊs",:utf8)和http://erlang.org/doc/man/erlang.html#binary_to_atom-2笔记如果二进制包含大于16#FF的Unicode字符,binary_to_atom(