使用$ lookup管道挂起而不终止的MongoDB查询

时间:2018-02-01 18:50:24

标签: mongodb lookup pipeline

我正在尝试在mongodb上向我的数据库询问此查询: 我想知道2017年采用的所有狗。 在我的数据库中,我有两个收藏,一个用于收养,一个用于叫做Ospiti的狗和猫。 我想使用$ lookup模仿SQL Join来检索动物的种类,但我认为我失败了。

处理过程中遇到的问题是:

Adozione是收养 Ospiti是收集动物收容所中注册的狗和猫的收藏品。 DataAdozione是AdoptionDate。

db.Adozione.aggregate([
   {
       $lookup:
            {
                from: "Ospite",
                let: {dataadozione : "$DataAdozione"},
                pipeline: [ {$match: { "Specie":"Cane" } }, 
                        {$match:
                        {$expr:
                            {$and:[
                                {$gte: ["$$dataadozione","2017-01-01"]},
                                {$lte: ["$$dataadozione","2017-12-31"]}
                            ]}
                        }
                         },
                       {$project: {"_id":0, "MatricolaO":1, "Nome":1, "Specie":1, "dataadozione":1 } } ],
                as:"cani"
            }

    },
    {$unwind:"$cani"}

]).pretty()

0 个答案:

没有答案