私はmongooseを使って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://私の答えは本質的に "いいえ、あなたは正しい"という理由で、oidがどのように生成され、衝突のシナリオが3つあるのかを説明しています(stackoverflow.com/a/5694803/1327508)。 oidがどのように生成されるか。 –