节点 – 使用DocumentID更新整个MongoDB文档
我试图在“平均值”中执行CRUD操作。 我正在尝试使用documentid更新整个文档。 我不知道如何做到这一点。 以下是我的代码:
Users.prototype.updateUser = function (req, cbk) { var self = this; var reqObj = req.body; var response = { status: false, err: null, data: null }; console.log(new Date() + " | user update ", reqObj) self.db.collection('users').update({_id:ObjectId(reqObj._id)}, {upsert:true}, function (err, result) { if (!err && result.length > 0) { response['status'] = true; response['data'] = result; cbk(response) } else { response['err'] = 'No user found!'; cbk(response) } }); };
我试图发送的JSON请求是:
{ "_id": "59d5db3c4c46e83a14b94617", "name": "hello", "ind": "0" }
我总是得到一个用户没有find答复。 任何想法我做错了什么?
编辑:
这里是用户列表的JSON响应:
{ "status": true, "err": null, "data": [ { "_id": "59d5db344c46e83a14b94616", "name": "test" }, { "_id": "59d5db3c4c46e83a14b94617", "name": "hello" } ] }
从文档你缺less更新对象。
collection.update(criteria, update[[, options], callback]);
self.db.collection('users') .update( { _id: ObjectId(reqObj._id) }, reqObj, { upsert: true }, function (err, result) { if (err) { response['err'] = err.message; } else { response['status'] = true; response['data'] = result; } cbk(response); }, );
如果你没有这个对象,它会创build一个新的文档。