我想對嵌套值進行條件更新。基本上,每個數組項的2個變量嵌套數組中的一個變量具有一個布爾組件,我想根據另一個變量的字符串值進行更新。PyMongo與find_and_modify()內部條件更新的問題調用
我也想做所有基於有針對性的查找查詢。我在下面想到了這一點,但它不起作用。
#!/usr/bin/env python
import ssl
from pymongo import MongoClient
client = MongoClient("somehost", ssl=True, ssl_cert_reqs=ssl.CERT_NONE, replicaSet='rs0')
db = client.maestro
mycollection = db.users
print 'connected, now performing update'
mycollection.find_and_modify(query={'emailAddress':'[email protected]'}, update={ "nested.name" : "issomename" }, { "$set": {'nested.$*.value': True}}, upsert=True, full_response=True)
該代碼產生:
SyntaxError: non-keyword arg after keyword arg
這讓我覺得find_and_modify()方法無法處理條件更新位。
有沒有辦法達到這個目的,還是我走錯了路?你會怎麼建議作爲一個更好的方法?