鉴于已记录游戏的以下文档结构:
{
...
"rightkingpercenthp":[1,1,1,1,1,1,1,1,1,1,1,0.94,0.95,0],
"gameDetails":[
{"playername":"Calvino",
...
"unitsPerWave":[
["grarl_unit_id:0.5|9.5"],
["hydra_unit_id:3.5|6.5","veteran_unit_id:1.5|6","grarl_unit_id:3.5|5.5","peewee_unit_id:8.5|7"], ["hydra_unit_id:3.5|6.5","veteran_unit_id:1.5|6","veteran_unit_id:8.5|7","peewee_unit_id:8.5|6",
"fatalizer_unit_id:2.5|5"],
...
]
}
答案 0 :(得分:-1)
您可以使用嵌套的$elemMatch
运算符在嵌套的gamesDetails.unitsPerWave
数组和与字符串开头匹配的正则表达式中进行查询:
db.col.count({
'gameDetails.unitsPerWave': {$elemMatch: {$elemMatch: {$regex: /^veteran_unit_id/}}}
})
答案 1 :(得分:-3)
在这种情况下,恕我直言,任何超级duper mongoDB查询都将等同于对数据库中每个记录的简单传递。