Cú pháp cho dbref là
{ $ref : <collname>, $id : <idvalue>[, $db : <dbname>] }
Nhưng bạn đã thêm trường số lượng không được hỗ trợ bên trong dbref. Đó chính là vấn đề. mang nó ra bên ngoài
db.basket.save ({"_id" : "1", "items" : [
{"quantity" : 5 , item : {"$ref" : "fruit", "$id" : "1"}},
{"quantity" : 10, item : {"$ref" : "fruit", "$id" : "3"}}
]})
loại nào trông (đáng sợ)
{
"_id" : "1",
"items" : [
{
"quantity" : 5,
"item" : {
"$ref" : "fruit",
"$id" : "1"
}
},
{
"quantity" : 10,
"item" : {
"$ref" : "fruit",
"$id" : "3"
}
}
]
}
Nhưng lời khuyên của tôi là, hãy loại bỏ hoàn toàn chữ viết tắt và chỉ sử dụng cấu trúc đơn giản như sau
db.basket.save ({"_id" : "1",items:[
{item_id:"1",quantity:50},
{item_id:"3",quantity:10}
]})
cái này gọn gàng hơn nhiều, trông sẽ giống như
{
"_id" : "1",
"items" : [
{
"item_id" : "1",
"quantity" : 50
},
{
"item_id" : "3",
"quantity" : 10
}
]
}