草庐IT

mongodb-cluster

全部标签

mongodb - $push 嵌入文档数组

我想将所有消息标记为“jim”已读。这是一个线程的结构:db.threads.save({messages:[{read_by:['bob','jim']},{read_by:['bob']},{read_by:['bob']}]})如您所见,一条消息已被“jim”阅读,其余仅被“bob”阅读。我想查找并修改任何嵌入的文档,以便将“jim”附加到read_by数组。这是我得到的地方:db.threads.findAndModify({query:{'messages.read_by':{$ne:'jim'}},update:{$push:{'messages.$.read_by':'j

java - 定义 mongodb 搜索查询

您好,我正在尝试为mongod数据库条目定义一个搜索查询。条目如下所示:{"_id":"13132413435452113545452","type":"U","dataSourceA":{uSet:["u","v","w"]}}假设我有100个带有uSet的条目:["u","v","w"]所以现在我想找出我的数据库中存在哪些不同的uSet值。例如另外100个具有不同ID的条目是否可以如下所示:{"_id":"13132413435452113545452","type":"U","dataSourceA":{uSet:["d","v","w"]}}目标将是包含值{"d","v","w

mongodb - 为什么 MongoDb 在更新后按字母顺序对齐集合键

我已经看到,每当我们将任何值更新到mongo集合中时。更新后,它会按字母顺序重新排列键。假设如果当前模式是_id:"Objectid(blahblah)"id:"1",fullname:"user",username:"username",password:"password",更新后变成_id:"Objectid(blahblah)"fullname:"user"id:"1"password:"password"username:"user"我知道这没有问题。这不会影响任何东西,因为数组数据仍然与值相对应。但我只是想知道为什么会这样。编辑:这是mongoshell中更新函数的代码。但

mongodb - fatal error : Class 'Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle' not found

自3天以来我一直在尝试安装mongodb,但每次我都会收到不同的错误消息,直到我修复了其中的一些错误并且我可以为我的Symfony2.1.4安装安装mongodb。所以现在我收到此错误消息:"Fatalerror:Class'Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle'notfound"我找不到任何解决方案来解决它。对于我的composer.json中的信息,我添加了这些行:"doctrine/mongodb-odm":"*","doctrine/mongodb-odm-bundle":"v2.0.1"它在Doctrine命名

MongoDB 2.4 新文本索引特性

所以我将一个配置奇怪的数据库导入到MongoDB中,如下所示:"_id":ObjectId("51191d45890311d9b2a0865d"),"field1":"randomtextstuff","field2":"randomtextstuff","field3":"randomtextstuff","field4":"randomtextstuff","field5":"randomtextstuff"有些文档有100个字段,有些则没有。所以我想测试新的文本搜索,所以我尝试了以下索引:db.profile_specialties.ensureIndex({"field1":"

Mongodb $match 和 $project 聚合

我有这套非常简单的文档。>db.ysTest.aggregate({$project:{_id:1,unitStatus:1}});{"result":[{"_id":ObjectId("514309f3e18aa7d14100217a"),"unitStatus":"es_pws"},{"_id":ObjectId("514309f3e18aa7d141002816"),"unitStatus":"es_run"},{"_id":ObjectId("514309f0e18aa7d14100021e")}],"ok":1}当使用$match和$project使用“聚合”时,我希望有1个

mongodb - 存储一个变化很大的字符串,从很长到很短::Fragmentation

好的,所以我游戏中的每个玩家在我的玩家集合中都有一个文档,每个玩家都有1个字符串,该字符串是他们游戏状态的序列化字符串。所以这个字符串可以是很长或很短,每个玩家都有很大差异。我有一个没有大量mongo经验的人告诉我,我应该填充集合中的每个字符串,使它们的长度都相同。所以就像在所有中短游戏状态字符串的末尾添加大量的零一样。那么A)这是个好主意吗?B)我什至不完全确定如何找出游戏的最长长度,所以我不确定将它们填充多远以及如果以后的游戏状态超过我的填充长度怎么办?我的friend说他有一个mongo集合因为碎片而不断爆炸,当他实现填充时,所有问题都消失了。哦,我怀疑这很重要,但我的代码是在p

mongodb - 更改 Objectid 的大小

在MongoDb中,ObjectId是一个12字节的BSON类型。有什么办法可以减小objectID的大小吗? 最佳答案 没有。它是一种BSON数据类型。这就像要求32位整数缩小自身一样。每个对象都必须具有_id属性,但您不限于ObjectId。 关于mongodb-更改Objectid的大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15865382/

Ruby - 按时区对 MongoDB 记录进行排序?

我有一组带有地理空间索引location:{lat:XX.XXXX,lng:XX.XXXX}的文档。但我希望它们由TimeZone输出。我正在考虑将地理定位转换为时区,并基于此创建一个索引,但我也不确定该怎么做,或者使用地理空间索引是否更容易。 最佳答案 MongoDB可以使用$geoWithin查询条件检查是否包含GeoJSON中描述的任意多边形中的点。您可以在GeoJSON中创建一个新的时区文档集合及其位置多边形。为此,请尝试thisGitHubrepo.我对thisrelatedSOquestion的回答也可能有用。获得时区集

php - Mongodb _id 以及如何在 php 中实现它以在集合之间进行引用

由于我是Mongodb的新手,我对mongodbid有一些困惑。在Mysql中,我们可以定义任何变量作为主键,在mongodb中是否可以像这样定义任何变量作为主键?在控制台中,我们将_id定义为_id:objectId("4c4ba5c0672c685e5e8aabf3")。如何在php中做同样的事情。参数(“4c4ba5c0672c685e5e8aabf3”)的来源是什么?有什么方法可以通过函数生成这个参数吗? 最佳答案 MongoDB中的文档需要有一个_id字段,该字段的值是不可变的,并且对于集合是唯一的。ObjectId类型,