我有一组具有数组值(!)状态属性的用户。
我可以轻松找到锁定的用户
db.users.find({'state' : 'locked'})
因为条件“查看”状态数组。
但是,我需要在聚合框架的上下文中使用它,但我无法让它工作。这是我的非工作尝试之一:
db.users.aggregate({
'$group' : {
'_id' : { '$cond' : [{'$eq' : ['$state', 'locked']},
'locked',
'not_locked']
},
'count' : { '$sum' : 1 }
}
})
IOW,我想根据状态数组中存在的元素生成一个组 _id。