sql >> Database teknologi >  >> NoSQL >> MongoDB

Opdater et MongoEngine-dokument ved hjælp af en python-dict?

Ret sent til spillet her, men FWIW, MongoEngine har en indbygget løsning til dette.

Uanset om du vil create eller update du kan gøre følgende:

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

Eneste forskel for update er du nødt til at indsætte et id . På den måde vil mongoengine ikke duplikere et dokument med et eksisterende id og opdatere det i stedet.



  1. MongoDB slapper af flere arrays

  2. Hvordan slipper jeg en MongoDB-database fra kommandolinjen?

  3. Lineær tragt fra en samling begivenheder med MongoDB-aggregering, er det muligt?

  4. Hvordan bruger man Elasticsearch med MongoDB?