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

ReferenceField s odkazem na existující dokument

Děláš to špatně. Měli byste si uložit odkaz na vaše Materials object pak jej předejte jako argument Regenerators

Demo

class Materials(Document):
    title = StringField(unique=True, required=True)

class Regenerators(Document):
    material = ReferenceField(Materials, required=True)

m = Materials(title='aisi304').save()

r = Regenerators(material=m).save()

Vaše dokumenty pak vypadají takto:

> db.regenerators.find()
{
        "_id" : ObjectId("565c9d110acf4510cf1f8712"),
        "material" : ObjectId("565c9cfc0acf4510cf1f8711")
}
> db.materials.find()
{ "_id" : ObjectId("565c9cfc0acf4510cf1f8711"), "title" : "aisi304" }
> 

Pokud chcete použít odkaz na existující dokument, musíte zadat dotaz pomocí .get metoda pak předá odkaz jako argument do Regenerators

m = Materials.objects.get(title='aisi304')
r = Regenerators(material=m).save()



  1. Získání více klíčových hodnot z Redis

  2. Mongoose dotazy na stav data nemají žádné výsledky, MongoDB Shell funguje

  3. Jak povolit ReadConcernMajority v MongoDB 3.6.3?

  4. Použití $push v rámci Array v mongoose