में मल्टी झंडा मैं pymongo पर काम कर रहा हूँ और यह मेरा दस्तावेज है:Upsert और pymongo
{
"_id": ObjectId("51211b57f07ddaa377000000"),
"assignments": {
"0": {
"0": {
"_id": ObjectId("5120dd7400a4453d58a0d0ec")
},
"1": {
"_id": ObjectId("5120dd8e00a4453d58a0d0ed")
},
"2": {
"_id": ObjectId("5120ddad00a4453d58a0d0ee")
}
}
},
"password": "my_passwd",
"username": "john"
}
मैं ऐसे सभी दस्तावेज़ों की "काम" संपत्ति अनसेट करना चाहते हैं। मैं ऐसा करके मोंगो खोल पर इस लक्ष्य को हासिल करने में सक्षम था:
db.users.update({}, {$unset: {"assignments": 1}}, false, true)
जैसे कि, मैं उन संग्रह पर अद्यतन समारोह समारोह के लिए पिछले दो पैरामीटर के रूप में Upsert और बहु ध्वज पारित कर दिया। हालांकि मैं pymongo साथ ऐसा किया:
db.users.update({}, {"$unset": {"assignments": 1}}, False, True)
लेकिन इस प्रकार अजगर दुभाषिया एक त्रुटि फेंक दिया:
File "notes/assignment.py", line 34, in <module>
db.users.update({}, {"$unset": {"assignments": 1}}, False, True)
File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 481, in update
check_keys, self.__uuid_subtype), safe)
File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 852, in _send_message
rv = self.__check_response_to_last_error(response)
File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 795, in __check_response_to_last_error
raise OperationFailure(details["err"], details["code"])
pymongo.errors.OperationFailure: Modifiers and non-modifiers cannot be mixed
कहाँ मैं गलत हो रहा हूँ?
http://stackoverflow.com/questions/14443478/remove-subfields-from-mongodb-document पर नज़र हो सकता है आप अरे वाह कुछ परिचित – mderk