我正在用貓鼬來操作mongodb。現在,爲了測試,我想通過本地連接將一些數據插入到mongodb中。如何使用mongoose將文檔插入到mongodb中並獲取生成的ID?
但問題是如何獲得插入後生成的ID?
我想:
var mongoose = require('mongoose');
mongoose.connect('mongo://localhost/shuzu_test');
var conn = mongoose.connection;
var user = {
a: 'abc'
};
conn.collection('aaa').insert(user);
console.log('User:');
console.log(user);
但它打印:
{ a: 'abc' }
沒有_id
場。
沒有新的對象ID()需要做一個往返得到一個「可用」 ID ...否則,會不會有一個非常小的碰撞機會? ((例如,在MSSQL上,NEWID()符合RFC4122 ...並確保沒有衝突,但它發生在DB端)) –
我做了一些進一步的研究,並且遇到了這個SOQuestion [https:// stackoverflow.com/a/5694803/1327508],它解釋了oid是如何生成的以及3(+1評論)場景中的碰撞......我的答案基本上是「不,你是正確的」,因爲oid是如何生成的。 –