如何使用pymongo更新Mongodb中的多个值?

时间:2014-03-17 05:39:25

标签: python mongodb

在我的代码中,当进程启动时,以下数据存储在我的core_pid表中。

db.core_pid.insert({"blog_id": blog["_id"], "proid": str(p.pid), "starttime": datetime.now(pytz.timezone('EST')), "status": "Running", "route":routing})

完成该过程后,我使用以下代码更新了状态值。

db.core_pid.update({"_id": current_id},
                       {"$set": {"status": "Completed"}}) 

现在我想在进程完成时在数据库中包含一个新的字段endtime({“endtime”:datetime.now(pytz.timezone('EST'))})。如何更改上面的更新代码以包含这个终结时间字段也是。

2 个答案:

答案 0 :(得分:3)

简单地说,包括" endtime"字段在" $ set"值

db.core_pid.update({"_id": current_id},
                   {"$set": {
                       "status": "Completed",
                       "endtime": datetime.now(pytz.timezone('EST'))}}) 

答案 1 :(得分:0)

只需将另一个字段作为参数添加到$ set:

b.core_pid.update({"_id": current_id},
    {"$set": { 
        "status": "Completed",
        "endtime": datetime.now(pytz.timezone('EST')) 
    }})

这只会更新文档中的这两个字段而不会触及其他字段。