0
我有一些麻煩與DBREF,看看這種情況:的MongoDB - DBREF
db.fruit.save ({"_id" : "1" , "name" : "apple"});
db.fruit.save ({"_id" : "2" , "name" : "grape"});
db.fruit.save ({"_id" : "3" , "name" : "orange"});
db.fruit.save ({"_id" : "4" , "name" : "pineapple"});
db.basket.save ({"_id" : "1", "items" : [
{"$ref" : "fruit", "$id" : "1", "quantity" : 5},
{"$ref" : "fruit", "$id" : "3", "quantity" : 10}
]})
現在,讓我們找到了 「菜籃子」 集合:
> db.basket.find()
{ "_id" : "1", "items" : [
{
"$ref" : "fruit",
"$id" : "1"
},
{
"$ref" : "fruit",
"$id" : "3"
}
] }
「量」 屬性消失了?!任何人都知道爲什麼?有其他選擇嗎?
謝謝。
但用最後一種方法,我如何獲取所有項目數據,如加入? – jtomasrl 2012-11-08 15:12:19
MongoDb中沒有加入 – 2012-11-15 13:10:31
只是爲了說明,DBRef中支持其他字段,因爲它實際上只是一個BSON對象;然而,MongoDB shell在渲染值時隱藏了除'$ ref','$ id'和可選的'$ db'字段之外的字段。一些ODM實際上將附加值存儲在DBRef對象中(Doctrine使用類鑑別符值執行此操作)。也就是說,如果您始終引用同一個數據庫和集合中的對象,那麼在沒有DBRef的情況下,您肯定會更好,因爲在這種情況下'$ ref'和'$ db'沒有用處。 – jmikola 2014-09-11 17:05:54