我不能準確地描述語言表達我的想法,所以這裏有一個例子:MongoDB的 - 如何在一個數組訪問對象
[
{
'description': 'fruits',
'examples': [
{
'name': 'Apple',
'color': ['red', 'green']
},
{
'name': 'Banana',
'color': 'yellow'
}
]
},
{
'description': 'vegetables',
'examples': [
{
'name': 'Tomato',
'color': 'red'
},
{
'name': 'Carrot',
'color': 'orange'
}
]
},
{
'description': 'Wweets',
'examples': [
{
'name': 'Chocolate',
'color': ['brown', 'black', 'white']
},
{
'name': 'Candy',
'color': 'various'
}
]
}
]
讓我們走一步看一步:
如果我想看到所有食品類別,我用下面的命令
db.food.find()
我想看到的蔬菜查詢
db.food.find({ 'description': 'vegetables' })
現在我們假設我忘了胡蘿蔔長得怎麼樣(哈哈)。我該怎麼辦?我嘗試以下(本地Node.js的MongoDB的驅動程序):
collection.find({'examples.name': 'Carrot'}, function(err, example){
console.log(example)
// It still returns me the whole object!
});
因此,我預計的MongoDB返回對象的下一個最大的實例。例如,我想這樣做。
console.log(example.color)
// 'orange'
你有什麼想法嗎?我是面向文檔的數據庫新手:/
嘿,隨着發現,你得到的整個文件,你不能得到一部分。所以,你得到的文件,並通過一個小函數尋求索引;) – 2012-07-29 22:52:54
嘿,這個小函數是怎麼樣的? :)我能在我的節點應用程序中實現它嗎?我對這件事情很陌生。 – aydio 2012-07-30 05:33:54
看aydio的答案;)所以,你創建一個lib,用這個函數進行基本操作。你需要。 ;)編輯:哦,這是你大聲笑 – 2012-07-30 11:56:17