python 在文档中添加字段(如果不存在),否则更新

yzuktlbb  于 2023-06-04  发布在  Python
关注(0)|答案(1)|浏览(154)

我正在使用下面的代码更新文档中的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)

如果字段存在,则此操作正常。我想有一个代码,它要么更新字段,如果它存在,否则创建一个新的字段。

gjmwrych

gjmwrych1#

我不认为你需要改变什么。$set将在字段不存在时创建该字段,或者在字段存在时更新该字段。
https://www.mongodb.com/docs/manual/reference/operator/update/set/#behavior
如果字段不存在,$set将添加一个具有指定值的新字段,前提是新字段不违反类型约束。

相关问题