Mongodb常用nosql操作

 

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 }
                        }
                    }
                ])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章