4

アップサート後にレコード _id を取得する方法はありますか?

この投稿 ( mongoose を使用して mongodb にドキュメントを挿入し、生成された ID を取得する方法) を見たことがありますが、これは更新ではなく挿入のみを対象としています。

また、MongoDB を使用すると、getlasterror ( https://groups.google.com/forum/?fromgroups=#!topic/mongoose-orm/ehZ11QY-OUw ) を使用して _id を取得できますが、Mongoose はアクセスを提供しません。それ ( https://groups.google.com/forum/?fromgroups=#!topic/mongoose-orm/pSv6WrasvWg )

ありがとう

4

3 に答える 3

11

options オブジェクトでMongoose のfindOneAndUpdateメソッドを使用します。upsert: true

var query = { name: 'borne' },
    data = { name: 'jason borne' },
    options = { upsert: true };
Model.findOneAndUpdate(query, data, options, function (err, object) {
    /* use object._id */
});
于 2013-01-17T14:17:52.283 に答える