중첩 된 값에 조건부 업데이트를 수행하려고합니다. 기본적으로 배열 항목 당 2 개의 변수가 중첩 배열에있는 하나의 변수는 다른 변수의 문자열 값을 기반으로 업데이트하려는 부울 구성 요소가 있습니다.find_and_modify() 호출에서 조건부 업데이트로 PyMongo에 문제 발생
타겟 된 검색 쿼리를 기반으로 모든 작업을 수행하고 싶습니다. 나는 이것을 생각해 냈지만 작동하지 않는다.
SyntaxError: non-keyword arg after keyword arg
이 나를 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)
이 코드의 결과.
이 작업을 수행 할 수있는 방법이 있습니까? 아니면 잘못된 경로로 이동 했습니까? 더 나은 접근 방법으로 무엇을 제안 하시겠습니까?