我已经使用mongo几个月了,除了简单的基本查询和聚合操作,我对聚合还不是很熟悉。我来自sql语言..
我有一个与此类似的数据库:
{
ownerId: "A",
email: "[email protected]",
phone: "333",
current: true,
deleted: false
},
{
ownerId: "A",
email: "[email protected]",
phone: "444",
current: true,
deleted: false
},
{
ownerId: "A",
email: "[email protected]",
phone: "555",
current: true,
deleted: false
},
{
ownerId: "B",
email: "[email protected]",
phone: "333",
current: true,
deleted: false
},
{
ownerId: "C",
email: "[email protected]",
phone: "333",
current: true,
deleted: false
},
{
ownerId: "B",
email: "[email protected]",
phone: "333",
current: true,
deleted: false
}
我想获得的结果是:按ownerId分组,我想知道该ownerId是否在其通讯录中具有重复的“电子邮件” OR是否具有重复的“电话”。 X不能有两个或两个以上相同的电子邮件或同一部电话。我正在尝试各种方法,但是我也找不到开始的方法..我想要您的帮助..
https://mongoplayground.net/p/D6X4WTyAIiR
预期输出(基于此示例)类似于以下内容:
[
{
ownerId : "A",
emails: [
"[email protected]"
],
phones :[]
}
]
非常感谢!
对于此聚合,请使用: