可以使用ObjectID
选项从update
方法自动生成upsert
?
类似于mysql中的LAST_INSERT_ID()
。
这里是示例代码:
/**
* MongoDB ver. 2.4.9
* MongoDB NodeJS Driver ver. 1.3.23
*/
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://127.0.0.1:27017/learning', function(err, db) {
var c = db.collection('testUpsert');
c.insert({a: true}, function(err, result) {
// Here I can reach `_id` field
console.dir(result); // object with id
});
c.update({ _id: undefined }, {a: false}, {upsert: true, w: 1}, function(err, result) {
// Any elegant way to fetch `_id` of new document here?
console.dir(result); // 1
});
});