美文网首页
mongoDB 关联查询

mongoDB 关联查询

作者: Robin92 | 来源:发表于2019-01-23 23:46 被阅读3次

现在是实现一个关联查询。
由于数据库分库,每个 account 对应的分库的配置信息存在 accountDSNConfig 表中,需要关联的表为 account 表,存在关系 accountDSNConfig.accountId==account._id。我现在要把同一库(即 accountDSNConfig.dsn 相同)中的accountId统计出来,并且筛选掉未激活的account。
以下为命令实现:

db.getCollection('accountDSNConfig').aggregate([
    {
        "$lookup": {
            "from": "account", // the name of collection which to join
            "localField": "account_id", // field name in accountDSNConfig
            "foreignField": "_id", // the name of the same field value with accountDSNConfig's localField in joined collection
            "as": "account" // as a filed name in this project
        }
    },
        {"$match": {"account.isDeleted": false, "account.status": "activated"}}, // query in aggregate as usual
        {"$group": {_id: "$dsn", "accountIds": {"$push": "$accountId"}}}
])

其实关联查询重要的一个命令是 $lookup 这个命令的 stage,每个stage都相当于一个管道,详情可以看官网解释。

相关文章

  • mongoDB 关联查询

    现在是实现一个关联查询。由于数据库分库,每个 account 对应的分库的配置信息存在 accountDSNCon...

  • Spring boot MongoDB 复杂查询

    1.Mongodb查询多个对象 2.Mongodb查询单个对象 3.Mongodb分页查询 4.Mongodb统计...

  • MongoDB关联(聚合)查询,关联集合筛选

    场景:商品列表中包含订单统计信息,商品和订单是一对多的关系注: 这里把商品和订单分成两个集合,仅做演示!具体场景,...

  • Mongodb慢查询

    一、mongodb慢查询的作用: 二、mongodb开启慢查询的缺点: 三、mongodb开启查询慢查询: 四、m...

  • Mongodb多表关联查询$lookup

    $lookup聚合中常见的操作符,可以对数据库中的未分片集合执行外部集合联接,以过滤“联接”集合中的文档以进行处理...

  • spring date mongo mongotemplate使

    Spring数据MongoDB三:基本文档查询(查询,基本查询)(一) MongoDB高级查询[聚合] sprin...

  • MongoDB积累

    一、mongodb通过工具连接 二、mongodb查询 1.mongodb数据库查询 一般查询:db.collec...

  • 记录mongo中的一些特殊查询

    习惯用mysql的查询语句对mongodb复杂查询有时候力不从心,推荐mongodb聚合查询 该段mongodb的...

  • MongoDB查询总结

    MongoDB查询总结 MongoDB查询总结介绍普通查询查询举例聚合查询Map-Reduce接口方法定义参数说明...

  • python面试题01

    1、什么是多表关联查询,有几种多表关联的查询方式,分别是什么? 多表关联查询概念: 多表关联查询分类:1.1内连接...

网友评论

      本文标题:mongoDB 关联查询

      本文链接:https://www.haomeiwen.com/subject/mozdjqtx.html