我正在尝试在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()