MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

ReferenceField с препратка към съществуващ документ

Вие го правите погрешно. Трябва да запазите препратка към вашите Materials след това го предайте като аргумент на Regenerators

Демо

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

Тогава вашите документи изглеждат така:

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

Ако искате да използвате препратка към съществуващ документ, трябва да подадете заявка, като използвате .get метод, след което го предайте като аргумент на Regenerators

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. В Jongo, как да намерите множество документи от Mongodb чрез списък с идентификатори

  2. loopback включва отдалечен метод в заявката

  3. query mongo:намиране на броя на масива във всички документи на колекция

  4. MongoDB - Актуализиране на документ

  5. Групиране по сума mongodb