我试图用nodejS在mongodb中做一个findAndModifiy,这是我的代码:
var nextBill = function (db, success, log) { var collection = db.collection('autoincrements'); log.debug('autoIncrementRepository', 'nextBill'); var result = collection.findAndModify({ query: { _id: 'auto' }, update: { $inc: { bill: 1 } }, new: true }); success(result.bill); };
编辑:
尝试回调
collection.findAndModify({ query: { _id: 'auto' }, update: { $inc: { bill: 1 } }, new: true }, function (e, result) { success(result.budget); });
但是给我这个错误需要删除或更新..但是我正在这样做..
.findAndModify()节点本机驱动程序实现中的方法与mongo shell实现不同。要进行上述更新,请执行以下操作:
.findAndModify()
collection.findAndModify( { "_id": "auto" }, { "$inc": { "bill": 1 } }, function(err,doc) { // work here } );
奇怪的是要删除您在选项中指定的内容,以便相同内容将“删除”匹配的文档:
collection.findAndModify( { "_id": "auto" }, { "$inc": { "bill": 1 } }, { "remove": true }, function(err,doc) { // work here } );
主要区别在于您没有为操作命名“关键”部分。