mongotemplate 关联表查询 子表如何聚合数据?

比如:动态表A和点赞表B,我想统计有多少人点赞了某个动态,那么A和B关联查询的时候对B进行聚合,这个怎么写?

阅读 2.6k
1 个回答

使用 aggregate语法,关联就用lookup

db.getCollection("A表").aggregate([
    {
        $lookup: {
            from: "B表",
            localField: "a表关联字段",
            foreignField: "对应的B表关联字段",
            as: "别名"
        }
    },
    {
        $unwind: {
            path: "$别名"
        }
    },
    {
    $match: {
        //自己写查询条件
}
}
]);

这里我举一个我自己写的业务
image.png
option()方法内部也是用的你说的MongoDBTemplate。
image.png