在一个对象MongoDb中返回带有数据库的两个结果

时间:2017-10-29 12:53:25

标签: mongodb

我尝试了查询,它会在

中返回2个结果
  • 首先是所有匹配board.users == user._id和
  • 的主板
  • 第二个结果将是所有电路板,其中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" } },
            } 
     }
      ]
    )
    

我知道这写得很糟糕,有人可以指导我并写下这条评论以改善吗?请。

1 个答案:

答案 0 :(得分:0)

我首先要做find而不是aggregate。像这样:

db.getCollection('boards').find({$or:[CONDITION_1 , CONDITION_2]});

CONDITION_1似乎是$elemMatch

CONDITION_2似乎是$in