jjzjj

objectIDs

全部标签

javascript - ObjectID 不存储十六进制值

最初,我的Sails/Mongo将ObjectID存储在数据库中,如下所示:"_id":ObjectId("557077fb836bdee256004232")不确定发生了什么变化或发生了什么,但现在新记录存储如下:"_id":{"_bsontype":"ObjectID","id":"UtÓ-Åß\u0010C&5","generationTime":1434552692}这仅发生在6个开发人员环境中的2个中。我检查过的东西:恢复到上周的稳定提交,清除了node_modules、npm缓存等。重新安装但没有成功。完全重新安装了Node/npm/MongoDB,以确保我使用的是最新稳定

javascript - 将 MongoDB 集合 ObjectId 转换为 _id "string"

是否可以将_id字段内具有_id:ObjectId("22332")的mongo集合批量更新为字符串,以便_id:"22332"改为使用我正在使用Meteor并且我已经使用mongoimport导入了csv但它会自动将ObjectId添加为("22332")我不想破坏默认的meteor_id功能并且必须将._str在每个javascript文件上。{"_id":ObjectId("5696cf153f8d6d60f723268b"),"NTitle":18,"field1":"companyannouncesPrivatePlacement","field2":"11109943282

node.js - MongoDB objectID 陌生人错误

在Heroku上使用MEANStack部署,我能够使用mongoDB的findOne和deleteOneGET和DELETE文档>功能。但是,当我尝试使用mongoDBupdateOne/update函数PUT文档时,我收到此错误(服务器端):The_idfieldcannotbechangedfrom{_id:ObjectId('56d4d71191fdc81100974d0b')}to{_id:"56d4d71191fdc81100974d0b"}.看起来很奇怪,因为我在服务器代码中为updateOne使用了与findOne相同的方法(同样,findOne工作正常):app.get

node.js - 从数组中管理和删除 objectId - mongoose

我有这个模式结构{"_id":{"$oid":"571251dae4b065a8c4d70ce1"},"email":"somthing12345@gmail.com","events":[{"$oid":"57125378e4b065a8c4d70d10"},{"$oid":"571253b8e4b065a8c4d70d1b"}],"valid":true,我的问题是这部分"events":[{"$oid":"57125378e4b065a8c4d70d10"},{"$oid":"571253b8e4b065a8c4d70d1b"}]如何删除这个结构中的对象?我可以为每个“事件”对象

string - Mongo C# 将 ObjectId 反序列化为字符串

我已经更改了我所有的C#实体:publicObjectIdId{get;set;}为此:[BsonRepresentation(BsonType.ObjectId)]publicstringId{get;set;}因为我需要使用Rebus并发送Id,但如果不添加自定义序列化程序,ObjectId是不可序列化的。实际上字符串在其他地方更方便(例如:MVCController中的模型绑定(bind))。无论如何,我认为更改不会有问题,但现在我在尝试将ObjectId反序列化为字符串时遇到异常:我的ApplicationUser类有一个IEnumerableFriendships{get;s

mongodb - Mongoose $lookup 其中 localField 是 foreignField 中 ObjectId 的字符串

我想执行$lookup,其中localField是ObjectId的字符串表示形式,而外部字段是实际的ObjectId。如果items是字符串值但_id是ObjectId,MongoDB3.2是否可行?[{"$lookup":{"from":"videos","localField":"items","foreignField":"_id","as":"appendedItems"}}] 最佳答案 mongodb3.2版本的$lookup中无法匹配String与ObjectId,有一些ticketsopenedforthisissu

node.js - 查找包含 objectId 数组的文档

我有一个表示为字符串的objectId数组。["594c7a30f8f774268a2cdd14","594c7a30f8f774268a2cdd13"]在我的聚合中,我使用这个数组和其他字段动态构建一个匹配对象。match["_id"]={$in:classes};这不起作用,我假设它只是一个字符串数组,而不是像ObjectId("594c7a30f8f774268a2cdd14")这样的对象ID。如何构建匹配项以便_id搜索适用于数组? 最佳答案 我可以通过更改匹配来让它工作match["_id"]={$in:classes};

node.js - 为什么 ObjectID 没有在 Mongodb 中定义?

我尝试通过查找特定的“_id”来查询我的MongoDB,但新的ObjectID并不能解决问题。我尝试通过“varobj=newObjectID()”创建一个包含随机ObjectID的变量,但效果不佳。然后我检查我的MongoDB版本,它是最新的(数据库版本v4.0.2)。服务器连接工作正常。有什么想法吗?谢谢。我的收藏:[{"_id":"5bc9fe6683dfb93706fe8a24","name":"Luis","occupation":"Doctor"},{"_id":"5bc9fe6683dfb93706fe8a25","name":"Peter","occupation":"

javascript - 何时在 Mongoose 中使用 new ObjectId ("string-id") 而不是 ObjectId ("string-id")?

因为我想与我的代码(Node.js)保持一致当我有一个查询并需要使用作为唯一对象的id值搜索某些内容时,执行它的最佳方法是什么?User.findOne({id:newObjectId("82jf20k2k...")}...或User.findOne({id:ObjectId("82jf20k2k...")}...创建一个新实例并每次都用对象填充内存似乎是错误的。使用newObjectId的唯一合理时间是在为我将使用ObjectId的所有其他操作插入数据时? 最佳答案 检查sourcecode:/***CreateanewObjec

php - MongoDB:ObjectId 到字符串

大家好,我使用MongoDB的find()方法是这样的:$cursor=$collection->find();foreach($cursoras$doc){//dosomething....}没关系,但我的_id属性是自动生成的,所以当我使用上面的代码时$doc[_id]isObject但我需要一个字符串。如何自动将其转换为字符串。不是这样的:foreach($cursoras$doc){$doc['_id']=(string)$doc['_id'];} 最佳答案 为了自动将来自MongoDB驱动程序的任何结果的ObjectId转