【发布时间】:2013-09-16 16:22:22
【问题描述】:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var Cat = mongoose.model('Cat', { name: String });
var kitty = new Cat({ name: 'Zildjian' });
console.log(kitty);
kitty.save();
console.log(kitty);
这个输出:
{ name: 'Zildjian', _id: 523194d562b0455801000001 } 两次
我尝试过在超时后延迟保存,但它是相同的,它指向设置在new Cat而不是.save()上的_id
这是因为mongodb还是mongoose,为什么在实际持久化之前设置_id?
【问题讨论】:
-
你查看过
Cat.find().exec(function(err,docs){console.log(docs);});提供的ID吗? -
我的猜测是它会自动生成 id,这样您就不必往返服务器来找出 id 原来是什么。
-
是的,这很方便,尤其是用于测试,但一开始我很惊讶。