mongodb 中数据格式如下:
{
"users_info" : [
{
"nickname" : "bbb",
"user_id" : 1,
},
{
"nickname" : "aaa",
"user_id" : 2
},
{
"nickname" : "xxxx",
"user_id" : 3
}
],
"game_state" : 1
}
需要查询出 game_state = 1 的记录 user_id 去重后的个数,
MongoDB shell 代码如何写
下面是我写, 但是没有去重, 不知道如果需要去重怎么写
db.getCollection('game').aggregate([
{$match:{game_state:1}},
{$project:{count:{$size:"$users_info"}}},
{$group:{_id:"1", count:{$sum:"$count"}}}
])