首页 > 解决方案 > Mongo查询,分组数组条目

问题描述

标签: mongodb

解决方案


我假设每个文档都有 _id 属性,您可以尝试如下查询:

db.books.aggregate([
  {$project: { _id: 1, characters: 1 } },
  {$unwind: "$characters" },
  {$group: {_id: { _id: "$_id", name: "$characters.name" }, count: { $sum: 1 }}},
  {$match: {"count" : { $gt: 1 }}}
])

结果应该是这样的:

{ "_id" : { "_id" : ObjectId("someid"), "name" : "Anne" }, "count" : 2 }

让我知道它是否有效。


推荐阅读