草庐IT

id_colour

全部标签

javascript - 无法分配给的只读属性 '_id'

我有一个Node.js应用程序。这是我第一次尝试使用MongoDB。当我尝试插入文档时出现此异常:无法分配给{"title":"sometitle","content":"somecontent","tags":"#some#tags"}的只读属性'_id'这是它出现的代码行:db.collection(collectionName).insertOne(json,callback);我听说_id是Mongo应该自己创建的值。我发现了很多具有相同异常的问题,但要么不是_id字段,要么是_id字段但在客户端,它们根本没有帮助我。任何帮助将不胜感激!完整代码:mongo-manager.j

mongodb - 未定义 ObjectID。无法在 Mongo Shell 中按 ID 找到对象

我试图用谷歌搜索我的简单问题,但找不到答案。我无法通过它的ObjectId找到任何对象。db.user.find({_id:ObjectID("57fa0a15cf1e8c0e571e1a52")})ReferenceError:ObjectID未定义为什么?怎么了? 最佳答案 应该是ObjectId()而不是ObjectID()https://docs.mongodb.com/manual/reference/method/ObjectId/ 关于mongodb-未定义ObjectID

node.js - 对于模型 "586cc8b3ea780c071bbe2469"的路径 "_id"处的值 "User",转换为 ObjectId 失败

我看到了一些与我的相似的帖子,但我仍然遇到同样的错误这是我的用户模式varmongoose=require('mongoose');varbcrypt=require('bcrypt-nodejs');varuserSchema=mongoose.Schema({local:{email:String,password:String,},});userSchema.methods.generateHash=function(password){returnbcrypt.hashSync(password,bcrypt.genSaltSync(8),null);};userSchema.

mongodb - 创建可扩展的 MongoDB 短 ID 的策略

我想要比MongoDB的ObjectID更友好的ID(即Youtube风格:/posts/cxB6Ey6)。我读到为了可扩展性最好将_id保留为ObjectID,所以我想到了两个解决方案:1)为每个文档添加一个索引postid字段2)创建_id和postid之间的映射集合在这两种情况下都使用类似https://github.com/dylang/shortid的东西生成短ID,并在生成时通过查询数据库确保该ID是唯一的。(这个query-generate-insert可以是一个原子操作吗?)这些解决方案会对性能产生显着影响吗?执行此操作的最佳策略是什么? 最

MongoDB - 通过查询获取组中最大值的ID

我有一个集合,其中的文档如下所示。我想获取每个组中按“名称”分组的最大修订版的“_id”或整个文档。{"_id":ObjectId("55aa088a58f2a8f2bd2a3793"),"name":"abc","revision":1}{"_id":ObjectId("55aa088a58f2a8f2bd2a3794"),"name":"abc","revision":2}{"_id":ObjectId("55aa088a58f2a8f2bd2a3795"),"name":"def","revision":1}{"_id":ObjectId("55aa088a58f2a8f2bd2

mongodb - 我如何根据 _id 使用 Mongoose 进行更新?

当我这样做时:client_id=req.param("client_id")?nullclient=name:req.param"clientName"status:'active'Client.update{_id:client_id},client,{upsert:true},(err,updRes)->iferrres.jsonerror:"Couldn'tcreateclient"elseres.jsonclient它将创建一个新的客户记录,除了一个null_id字段。我假设这是因为upsert的插入部分查找query来创建文档。我该怎么做才能在找不到文档时插入新的Objec

ruby-on-rails - 当有自定义 _id 时,mongo-ruby-driver 不会在 upsert 上创建新文档

我想用mongo-ruby-driver使用类似下面的东西来更新一个文档-id="#{params[:id]}:#{Time.now.strftime("%y%m%d")}"#db.collection('metrics').insert({'_id'=>id})db.collection('metrics').update({'_id'=>id},{'$inc'=>{"hits"=>1}},{'upsert'=>true})现在这只会更新现有文档,如果不存在则不会创建文档。执行这两个操作的唯一方法是取消注释上面的insert()命令。如果我使用mongo控制台并尝试直接执行此更新插入

node.js - Mongoose .js : _id of embedded document

我正在尝试使用mongoose和MongoDB将任务保存到任务列表中。我想把它冗余地保存在任务集合和相应的列表文档中作为嵌入文档。它工作正常,但有一点:列表的嵌入文档没有它们的objectId。但我需要它们以便将它们与任务集合中的文档逻辑连接起来。我的模式:varTaskSchema=newSchema({_id:ObjectId,title:String,list:ObjectId});varTask=mongoose.model('task',TaskSchema);varListSchema=newSchema({_id:ObjectId,title:String,tasks:[

node.js - Mongoose _id 在保存前受影响

varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/test');varCat=mongoose.model('Cat',{name:String});varkitty=newCat({name:'Zildjian'});console.log(kitty);kitty.save();console.log(kitty);这个输出:{name:'Zildjian',_id:523194d562b0455801000001}两次我试过在超时后延迟保存,但它是一样的,它指向在newCat而不是.save

mongodb - MongoDB 对 _id 使用哪种算法

这个问题在这里已经有了答案:HowareMongoDB'sObjectIdsgenerated?(6个答案)关闭8年前。MongoDB对每个文档_id使用哪种算法?我找不到任何关于它的文档。它是某种uuid吗?