草庐IT

id_colour

全部标签

php - doctrine odm,查找 id 不是对象 id 的文档

在我的mongodb中,我有一个集合,其中的id-field不是一个object-Id我不知道为什么它是这样构建的,我不能从头开始更改它,因为可能有很多软件已经在使用这种模式。但是,这样的Icecream文档是这样的:{"_id":"52d0283ae4b01db941dd763b","insertDate":ISODate("2014-01-10T17:04:58.617Z"),"language":"en","profile":ObjectId("50e577602b5e05e74b38a6c8"),"related":ObjectId("516c0061975a299edc44b

python - 使用 PyMongo,通过 "_id"查询不会在 Python 的 MongoDB 中返回文件

我在Openshift中使用Python+MongoDB+PyMongoimportosimportgridfsfromdjango.httpimportHttpResponsefrompymongo.connectionimportConnectionfromdjango.shortcutsimportget_object_or_404,render_to_responsefromdjango.httpimportHttpResponseRedirect,HttpResponsefromdjango.templateimportContext,RequestContext,loade

InsertOneAsync 后 MongoDB id 保持为空

我有一个基类Entity,它有一个字符串Id成员和一个派生类A。但是当创建派生类的新实例并使用InsertOneAsync将其添加到我的集合时,文档将添加到数据库中,Id值为null。使用ObjectId作为Id似乎可行,但我试图防止我的模型依赖MongoDB。我也尝试了下面的代码,但是结果是一样的:BsonClassMap.RegisterClassMap(cm=>{cm.MapIdField(x=>x.Id).SetSerializer(newStringSerializer(BsonType.ObjectId));}); 最佳答案

mongodb - MongoDB 中复合 _id 的预期行为?

我有一个包含3个数字属性的复合_id:_id":{“keyA”:0,“keyB”:0,“keyC”:0所讨论的数据库有200万个相同的KeyA值和50万个相同的KeyB值的集群。我的理解是我可以使用以下命令有效地查询KeyA和KeyB:find({"_id.KeyA":1,"_id.KeyB":3}).limit(100)当我解释这个查询时,结果是:"cursor":"BasicCursor","nscanned":1000100,"nscannedObjects":1000100,"n":100,"millis":1592,"nYields":0,"nChunkSkips":0,"i

MongoDB,为集合中的每个 user_id 返回最近的文档

寻找与Postgres的DistinctOn类似的功能。有一组文档{user_id,current_status,date},其中状态只是文本,日期是日期。仍处于围绕mongo思考并了解最佳做事方式的早期阶段。mapreduce会是这里最好的解决方案吗,map发出所有信息,而reduce记录最新的一个,或者是否有一个内置的解决方案而不拉出mr? 最佳答案 有一个distinctcommand,但是我不确定这就是您所需要的。Distinct是一种“查询”命令,对于大量用户,您可能希望非实时汇总数据。Map-Reduce可能是实现这一目

java - 如何使用 spring 数据在 mongo 聚合中构建 $group 的组合 _id 属性?

我在mongodb文档中找到了这个mongo命令:db.sales.aggregate([{$group:{_id:{month:{$month:"$date"},day:{$dayOfMonth:"$date"},year:{$year:"$date"}},totalPrice:{$sum:{$multiply:["$price","$quantity"]}},averageQuantity:{$avg:"$quantity"},count:{$sum:1}}}])当使用springdata的Aggregation时,很容易通过调用Aggregation.group(Feild...

node.js - 如何生成房间 ID 并强制两个用户加入该房间?

我正在使用node.js、socket.io和mongoose构建一个聊天应用程序。我的目标是建立一对一的聊天,它类似于facebook网络聊天。所以基本上每当我点击一个用户时,它都会转到该用户url并可能与他/她聊天但我面临的问题是我只能将消息发送给目标用户,而不能发送给我自己。这是当前代码服务器端socket.on('chatTo',function(data){User.findOne({username:data.destinationUsername,socketId:{'$ne':null}},function(err,foundUser){if(foundUser){io

Mongodb - 返回所有更新文档的 _id 数组

我需要更新一个集合中的一些文档,并将更新文档的_id数组发送到另一个集合。由于update()返回更新项目的number而不是它们的id,我想出了以下方法来获取数组:vardocsUpdated=[];varcursor=myCollection.find();cursor.forEach(function(doc){myCollection.update({_id:doc._id},,function(error,response){docsUpdated.push(doc._id);});});或者我可以这样做:vardocsUpdated=myCollection.distinc

c# - 在使用 MongoDB C# 驱动程序的 ensureIndex 之后,Id 字段映射被破坏

我有以下带有自定义ID字段的实体:publicclassUser:IEntity{publicstringId{get;set;}}if(!BsonClassMap.IsClassMapRegistered(typeof(User))){BsonClassMap.RegisterClassMap(map=>map.AutoMap());}效果很好,当我向集合中添加新记录时,会分配ID值。但是,当我尝试索引此集合中的任何其他字段时:UserCollection.EnsureIndex(IndexKeys.Ascending(p=>p.Email),IndexOptions.SetUniq

mongodb - 如何以原子方式将顺序递增的 id 添加到一组名称/id 对中

我需要将顺序递增的ID分配给一组名称。这归结为:包含下一个要生成的id的字段:curId包含名称/值对的集合myset,其中值是id,name是名称问题:我需要原子地:1.检查myset是否包含'name'。如果没有,2.使用$inc.生成一个新的id3.在myset中插入name/id对。我找不到在mongodb中执行此操作的方法,至少在不引入竞争条件的情况下。欢迎提出建议。更新示例文档(它应该是什么样子)。在添加'c'之前:{"mySet":[{"name":'a',"value":1},{"name":'b',"value":2}]}添加'c'后。返回3,因为这是分配给“c”的I