mongodb有路径通配符吗?

mongodb有路径通配符吗?,mongodb,Mongodb,我有一个mongodb集合,其中每个文档都有一个树结构。第一级是国家代码,第二级是操作系统,第三级是处理器类型,最后是性能分数: { "AU": {"OSX":{"x86_64":17.4}}, "RU": {"Android":{"A9":14.2,"x86":7.9},"iOS":{"A9":10.4}} } 在find查询中,我可以返回如下俄文Android数据: db.scores.findOne({},{"RU.Android":1}); db.scores.findOne({

我有一个mongodb集合,其中每个文档都有一个树结构。第一级是国家代码,第二级是操作系统,第三级是处理器类型,最后是性能分数:

{ "AU": {"OSX":{"x86_64":17.4}},
  "RU": {"Android":{"A9":14.2,"x86":7.9},"iOS":{"A9":10.4}}
}
在find查询中,我可以返回如下俄文Android数据:

db.scores.findOne({},{"RU.Android":1});
db.scores.findOne({},{"*.Android":1});
有没有办法只返回Android数据,而不考虑国家?是否有一些通配符可以放入选择器中?大概是这样的:

db.scores.findOne({},{"RU.Android":1});
db.scores.findOne({},{"*.Android":1});

我想你是对的。谢谢你的链接。我搜索过,但显然不够努力。最好的办法是改变你的文档结构,这样你就可以有统一的密钥。也许类似于{'name':'AU','sys':{OSX:{x86_64:17.4}}}不幸的是,如果我要为我需要的每一个故障都这样做,那么性能就会下降,我基本上必须将其转换为SQL。文档中数据的位置良好。一旦数据出来,我就开始切片。这就做到了:tree_math.findfindOne,functionpath,val{ifpath[1]==Androidtree_math.incrementPathans,path.slice2,val}您可以发出一个更新查询来实现这一点。