sql >> Databáze >  >> NoSQL >> MongoDB

Aktualizovat dokument MongoEngine pomocí pythonského diktátu?

Tady je do hry docela pozdě, ale FWIW, MongoEngine má pro to vestavěné řešení.

Bez ohledu na to, zda chcete create nebo update můžete provést následující:

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

Jediný rozdíl pro update musíte zadat id . Tímto způsobem mongoengine nebude duplikovat dokument s existujícím id a místo toho jej aktualizujte.



  1. MongoDB:Dotaz na klíč, který má v názvu mezeru

  2. Správný způsob použití Redis Connection Pool v Pythonu

  3. Rails – Kde MongoDB (Mongoid) ukládá db a logy?

  4. pymongo- Jak mohu mít odlišné hodnoty pro pole spolu s dalšími parametry dotazu