有条件的Mongo查找

时间:2019-07-18 12:56:07

标签: laravel mongodb jenssegers-mongodb

我的项目使用Laravel和jenssegers / laravel-mongodb ext。 我有一个查询查询:

'$lookup' => [
    'from' => 'proposals',
    'localField' => '_id',
    'foreignField' => 'proposal_round_mongo_id',
    'as' => 'proposal'
]

投标具有属性status。如何才能将条件为where status="active"的选择数据与投标书联系起来?

1 个答案:

答案 0 :(得分:1)

您可以使用管道选项来实现此目的。 但是,您将需要阅读所用扩展名的文档。但是作为mongoshell,您可以按照以下步骤操作

{
   $lookup:
     {
       from: <collection to join>,
       let: { <var_1>: <expression>, …, <var_n>: <expression> },
       pipeline: [ <pipeline to execute on the collection to join> ],
       as: <output array field>
     }
}

并指定管道内的条件。 阅读以下链接。 https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#join-conditions-and-uncorrelated-sub-queries