mongoose 使用aggregate 查询

_Suqin
  • 714

mongoose 通过 id 查询

var adminResult = await ctx.model.Admin.find({"_id":id});

mongoose 使用聚合查询 // 得到的是表中所有数据

var result = await this.ctx.model.Admin.aggregate([{
    $lookup: {
        from: 'role',           // 关联角色表
        localField: 'role_id',  // 本表 id
        foreignField: '_id',    // 被关联表 id
        as: 'role'
    }
}]);

问题来了, 怎么把它们结合起来, 即需要聚合的结果, 又想通过id 获得某一行数据

回复
阅读 3.2k
1 个回答
var result = await this.ctx.model.Admin.aggregate([{
    $match: {_id: id}
},{
    $lookup: {
        from: 'role',           // 关联角色表
        localField: 'role_id',  // 本表 id
        foreignField: '_id',    // 被关联表 id
        as: 'role'
    }
}]);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏