如何查询Array中存在的所有文档,这些文档本身存在于Node.js下的MongoDB集合中。
例如:我有一个具有结构的数据库:
{
"name1":[{"height":"5.5"},
{"weight":"57"}],
"name2":[{"height":"6.1"},
{"weight":"74"}]
}
我应该做什么查询才能获得数组的所有文件(即身高,体重)" name1"
输出应为:
{
{ "height":"5.5"}
{"weight":"57"}
}
答案 0 :(得分:0)
我的建议是重新组织集合,以便每个文档都有一个名称和物理属性键的密钥,例如。
{
'name' : 'name1',
'physAttr': ['height': heightvalue,
'weight': weightvalue]
}
然后假设您要查找高度为5.5的所有文档,查询将是微不足道的
db.collection.find({ 'physAttr.height': 5.5 })
如问题中所述,集合中的每个文档都具有与其他文档不同的模式(每个文档的名称键不同),使查询操作变得困难。