mongodb: 如何自动为新创建的对象生成一个id?

mongodb: how to automatically generate an id to a newly created object?

我正在用猫鼬创建一个新对象。 如何自动为该对象分配 ID?

这是我目前所拥有的(注意:coffeescript):

ObjectSchema = new Schema({
   #some other properties
   id: { type: Schema.ObjectId, required: true}
})

我是这样创建的:

obj = new Object()
#assign a couple of properties
obj.save( (err) ->
   if err?
     console.log(err)
   else
     console.log("successfully saved")
)

这给了我这个错误:

ValidationError: Path `id` is required

插入时未指定时自动创建

仅指定文档的其他属性

不要在您的架构中声明任何 id 字段,保存后,您的对象将有一个 _id 自动生成的字段。

您也可以在自己的文档字段中管理ObjectId,我附上了一些代码片段,其中'id'是虚拟文档的自定义字段

var ObjectID = require('mongodb').ObjectID

var dummy_record = {id: new mongo.ObjectID(),  created: new Date()};

db.collection('dummy').insert(dummy_record, {w: 1}, function(err, records) {
if (err) {
    // handle error here
} else {
   // do whatever you want, after insertion of record
} 
});

注意:- 作为这个问题之前的答案,'_id' 是文档的预定义字段,默认情况下自动填充,不需要额外的工作,但是如果你想更改字段名称或想要一些其他文件如 'id' 您可以使用上面的代码行。

谢谢