我在Flask应用程序中有一条更新指定记录属性的路径。我目前的代码不起作用,所以我一定做错了,但我正在看的所有地方,我的代码看起来很相似。
拿这个对象:
{"item": "Finish homework", "_id": {"$oid": "549548f93482984f399f9"}, "complete": false}
我想将“完成”更新为True。以下是我目前在路线中的代码:
todos.update({ "_id": todo_id }, { "$set": { "complete": "True" } })
我做错了什么?
由于
答案 0 :(得分:0)
必须将todo_id转换为字符串并使用bson ObjectID
todos.update({ "_id": ObjectId(str(todo_id)) }, { "$set": { "complete": True } })
答案 1 :(得分:0)
var ObjectID = require('mongodb').ObjectID;
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var myObj = { $set: {name: req.body.name , branch: req.body.branch}};
dbo.collection("my_std_table").update({"_id": ObjectID(req.params.id)}, myObj, function(err, result) {
if (err) throw err;
console.log("1 document updated");
db.close();
res.send(result);
});
});