1, 某字段的值,在集合collection A中存在,在集合collection B中不存在,即集合A和B的差集
db.getCollection('CollctionA')
.aggregate(
[
{
$lookup: {
from: "CollctionB",
localField: 'CollctionA_Id',
foreignField: 'CollctionB_id',
as: "CollctionA_B_Data"
}
},
{ $unwind: { path: '$CollctionA_B_Data', preserveNullAndEmptyArrays: true } },
{
$project: {
_id: '$_id',
CollctionB_id: '$CollctionA_B_Data.CollctionB_id',
CollctionA_Id: '$CollctionA_Id'
}
},
// {
// $project: {
// temp: {
// _id: '$_id',
CollctionB_id: '$CollctionA_B_Data.CollctionB_id',
CollctionA_Id: '$CollctionA_Id'
// }
// }
// },
// {
// $group: {
// _id: null,
// total: { $sum: 1 },
// data: { $push: "$temp" }
// }
// }
{
$match: {
CollctionB_id: { $eq: null }
}
}
])