我想按索引获取嵌套数组中的计数
我找到了一个解决方案,但如果数组键的名称为
,则可以解决该问题db.mycollection.find({
"someArray.someNestedArray.name": "value"
})
但是我的双嵌套数组基于下面的索引
{
"_id": "5dde88cd97e54f7c1a38da40",
"list_id": [
[
2
]
]
}
我试图通过解决方案来获得这样的计数
$users = $this->dm->createQueryBuilder(ClientUser::class)
->field('list[0][0]')
->equals(2)
->getQuery()->count();
$users = $this->dm->createQueryBuilder(ClientUser::class)
->field('list.[0].[0]')
->equals(2)
->getQuery()->count();
和
$users = $this->dm->createQueryBuilder(ClientUser::class)
->field('list.0.0')
->equals(2)
->getQuery()->count();
但这不起作用。
任何想法我怎么能通过嵌套索引计数?我想将其应用于10万条记录,所以不想在一般的foreach中循环记录
答案 0 :(得分:1)
您仍然可以使用dot notation:
$users = $this->dm->createQueryBuilder(ClientUser::class)
->field('list.0.0')
->equals(2)
->getQuery()->count();