1
我公司目前有以下數據集(簡體):蒙戈返回結果只有匹配的陣列排
{
'component_id':1,
'_locales':[
{
'url': 'dutch',
'locale': 'nl_NL'
},
{
'url': 'english',
'locale': 'en_US'
}
]
} (etc more rows similar to this but unique urls)
當我查詢特定的URL和區域我用下面的查詢
db.find({'_locales': { '$elemMatch': { 'locale': 'nl_NL', 'url': 'dutch' } }});
我得到然而,'_locales'返回整個數組,包括我不需要的en_US,無論如何它只返回匹配的數組行,在這種情況下:
'_locales':[
{
'url': 'dutch',
'locale': 'nl_NL'
}]
我有一種感覺,我不得不遍歷整個語言環境並將該行匹配到語言環境。它感覺不對,是否有更好的解決方案來做到這一點(而不是迭代結果集)?例如,更改表結構?我希望這樣做,而不是僅爲本地語言環境創建第二張表。
好的,這就是我的想法。現在我將遍歷結果,因爲結果中有最多4或5個結果,所以這會是一個性能問題。謝謝。 – 2012-04-20 11:12:32