我需要在mongodb数据库中进行查询:
我需要在所有文档中获取最重复的作者字段,但是这个字段里面有一个数组文件.
{ _id:'1234567', date:'9/27/08 3:21', a_name:'name', a_nick:'nick', comments: [ { body:"aa", email:a@a.com, author: "Author a" }, { body:"bb", email:b@b.com, author: "Author b" },{ body:"cc", email:c@c.com, author: "Author c" } ]}
我想我需要使用聚合框架,但我不知道我可以使用的巫婆条款......任何人都可以帮助我吗?
您可以使用聚合框架的$unwind
和$group
运算符
db..aggregate( { $project: { 'comments.author':1 } }, { $unwind: '$comments' }, { $group: {_id: '$comments.author', cnt: { $sum:1 } } }, { $sort: { cnt:-1 } }, { $limit:1 } );
该$project
操作是可选的.