MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Aktualisieren Sie ein MongoEngine-Dokument mit einem Python-Diktat?

Ziemlich spät zum Spiel hier, aber FWIW, MongoEngine hat eine eingebaute Lösung dafür.

Unabhängig davon, ob Sie create möchten oder update Sie können Folgendes tun:

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()

Einziger Unterschied für update müssen Sie eine id einfügen . Auf diese Weise dupliziert Mongoengine kein Dokument mit einer vorhandenen id und aktualisiere es stattdessen.