यहाँ खेल के लिए बहुत देर हो चुकी है, लेकिन FWIW, MongoEngine के पास इसके लिए एक समाधान है।
भले ही आप create चाहते हों या update आप निम्न कार्य कर सकते हैं:
class Pets(EmbeddedDocument):
name = StringField()
class Person(Document):
name = StringField()
address = StringField()
pets = ListField(EmbeddedDocumentField(Pets))
p = Person(**{
"name": "Hank",
"address": "Far away",
"pets": [{"name": "Scooter"}]
})
p.save()
केवल update के लिए अंतर है क्या आपको एक id में बने रहने की आवश्यकता है . इस तरह mongoengine मौजूदा id . के साथ किसी दस्तावेज़ की नकल नहीं करेगा और इसके बजाय इसे अपडेट करें।