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' 您可以使用上面的代码行。
谢谢
我正在用猫鼬创建一个新对象。 如何自动为该对象分配 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' 您可以使用上面的代码行。
谢谢