我正在使用下面的代码更新文档中的job_start_time
:
myclient = pymongo.MongoClient("mongodb://10.64.127.94:27017/")
mydb = myclient["UPTeam"]
mycol = mydb["perf_sdwan_queue"]
myquery = {"$and":[ {"job_job_id": current_job_id}, {"job_queue_name": "CURIE_BLR"}]}
my_jobs = mycol.find(myquery)
newvalues = { "$set": { "job_start_time":datetime.datetime.utcnow()} }
mycol.update_one(myquery, newvalues)
如果字段存在,则此操作正常。我想有一个代码,它要么更新字段,如果它存在,否则创建一个新的字段。
1条答案
按热度按时间gjmwrych1#
我不认为你需要改变什么。
$set
将在字段不存在时创建该字段,或者在字段存在时更新该字段。https://www.mongodb.com/docs/manual/reference/operator/update/set/#behavior
如果字段不存在,$set将添加一个具有指定值的新字段,前提是新字段不违反类型约束。