sql >> Database >  >> NoSQL >> MongoDB

ReferenceField met verwijzing naar bestaand document

Je doet het verkeerd. Je moet een verwijzing naar je Materials opslaan object en geef het dan als argument door aan 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()

Dan zien uw documenten er als volgt uit:

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

Als u een verwijzing naar een bestaand document wilt gebruiken, moet u een query uitvoeren met behulp van de .get methode, geef het dan een verwijzing als argument door aan Regenerators

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



  1. Automatisch velden berekenen in mongodb

  2. Zoek verschillende waarden groep door een ander veld mongodb

  3. Waarom is de richting van de index van belang in MongoDB?

  4. Hoe te zoeken in een reeks objecten in mongodb