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