美文网首页
mongodb的aggregate

mongodb的aggregate

作者: happyleijun | 来源:发表于2018-06-06 19:18 被阅读0次

目的是找到满足一定条件的house被不通用户关注的用户列表

house-user:

{ 
    "_id" : ObjectId("5b17a412882b7f075496b2b6"), 
    "house_id" : 1.0, 
    "user_id" : 2.0
}
{ 
    "_id" : ObjectId("5b17a424882b7f075496b2b7"), 
    "house_id" : 2.0, 
    "user_id" : 2.0
}
{ 
    "_id" : ObjectId("5b17a42f882b7f075496b2b8"), 
    "house_id" : 2.0, 
    "user_id" : 5.0
}

house:

{ 
    "_id" : ObjectId("5b17a2e1c82389528e424f4e"), 
    "house_id" : 1.0, 
    "house_name" : "house1", 
    "city_id" : 1.0
}
{ 
    "_id" : ObjectId("5b17a309882b7f075496b2ae"), 
    "house_id" : 2.0, 
    "house_name" : "house2", 
    "city_id" : 1.0
}
{ 
    "_id" : ObjectId("5b17a32b882b7f075496b2af"), 
    "house_id" : 3.0, 
    "house_name" : "house3", 
    "city_id" : 1.0
}

aggregation script:

// Requires official MongoShell 3.6+
use mydb;
db.getCollection("test_house").aggregate(
    [
        { 
            "$match" : {
                "city_id" : 1.0
            }
        }, 
        { 
            "$lookup" : {
                "from" : "house_user", 
                "localField" : "house_id", 
                "foreignField" : "house_id", 
                "as" : "userInfo"
            }
        }, 
        { 
            "$unwind" : {
                "path" : "$userInfo"
            }
        }, 
        { 
            "$group" : {
                "_id" : "$userInfo.user_id"
            }
        }
      {            // 例子而已
         "$project":{
            "_id":0,
            "user_id":1
         }
      }
    ], 
    { 
        "allowDiskUse" : false
    }
);

参考链接:https://www.cnblogs.com/duhuo/p/6068879.html

相关文章

  • mongodb的聚合

    mongodb的聚合 aggregate() 方法 MongoDB中聚合的方法使用aggregate() 语法 a...

  • 学习MongoDB(聚合)

    aggregate() MongoDB中聚合的方法使用aggregate()。aggregate() 方法的基本语...

  • mongodb aggregate

    mongodb高级特性aggregate,aggregate类似stream的处理方式,数据经过多级处理,最终输出...

  • mongodb的aggregate

    目的是找到满足一定条件的house被不通用户关注的用户列表 house-user: house: aggregat...

  • mongodb的aggregate

    前奏:首先接触到mongodb的时候总是感觉不如sql语言用着舒服,但是当你用的熟悉了会发现其实语法都是差不多的。...

  • Mongodb 的高级查询

    关键词:mongodb, mongo, project, group, aggregate, 聚合管道, 高级查询...

  • mongoDB聚合管道

    MongoDB 聚合 MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回...

  • mongodb aggregate 聚合

    按包名分组, 统计每个包名的uuid数量,按数量大小倒叙排列 或者这样: 同时使用and or 比较经典的案例:大...

  • MongoDB聚合aggregate

    数据准备 $group 查询每个职位的总工资:db.emps.aggregate([{"$group":{_id:...

  • mongodb aggregate 实践

    这段时间公司的项目业务改动,原来用的数据库是mysql,最近打算把部分业务相关的数据存在mongodb,我需要做的...

网友评论

      本文标题:mongodb的aggregate

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