MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

ReferenceField có tham chiếu đến tài liệu hiện có

Bạn đang làm sai. Bạn nên lưu một tham chiếu đến Materials của mình sau đó chuyển nó làm đối số cho 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()

Sau đó, tài liệu của bạn trông như thế này:

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

Nếu bạn muốn sử dụng tham chiếu đến tài liệu hiện có, bạn cần đưa ra truy vấn bằng cách sử dụng .get sau đó chuyển nó tham chiếu làm đối số cho 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. Làm cách nào để xóa phần tử mảng trong mongodb?

  2. Mongodb - các trường trùng lặp trong $ set và $ setOnInsert

  3. base64 đến hướng dẫn đến base64

  4. làm thế nào để lưu một kết quả từ một truy vấn mongodb vào một biến javascript?

  5. Sắp xếp truy vấn Spring MongoDB