我尝试了查询,它会在
中返回2个结果第二个结果将是所有电路板,其中board._id与数组相同。
db.getCollection('boards').aggregate(
[
{
$group:
{
_id: { users : ObjectId("59cd114cea98d9326ca1c421") },
name: { $push: { name: "$name", _id: "$_id" } }
}
},
{
$group:
{
_id: { _id : { $in: [ObjectId("59cd1f9a71b8ad5f48eb74f6"), ObjectId("59ecf24ca3a60c06d06e5088")] } },
favorite: { $push: { name: "$name", _id: "$_id" } },
}
}
]
)
我知道这写得很糟糕,有人可以指导我并写下这条评论以改善吗?请。
答案 0 :(得分:0)
我首先要做find
而不是aggregate
。像这样:
db.getCollection('boards').find({$or:[CONDITION_1 , CONDITION_2]});
CONDITION_1似乎是$elemMatch
CONDITION_2似乎是$in