美文网首页
MongoDB常用复杂查询

MongoDB常用复杂查询

作者: 霡霂976447044 | 来源:发表于2020-06-17 16:50 被阅读0次

    1 联集合查询

    联集合查询可以实现类似SQL数据库的多表查询。

    db.getCollection('devices').aggregate([
       {
           "$lookup": {
           "from": "user_info",
            "localField": "owner",
            "foreignField": "uid",
            "as": "user_info"
            }
        },
        {"$project": {"cnt":{"$size":"$user_info"}, "product_no": 1}},
        {
            "$match": {"cnt": {"$gte": 1}}
        }
        ])
    

    我们发现如果直接在$project上直接增加,会导致所有字段缺失,这个时候可以用$addFields

    db.getCollection('devices').aggregate([
       {
           "$lookup": {
           "from": "user_info",
            "localField": "owner",
            "foreignField": "uid",
            "as": "user_info"
            }
        },
    
        {"$addFields": {"cnt": {"$size":"$user_info"}}},
        {
            "$match": {"cnt": {"$gte": 1}}
        }
        ])
    

    相关文章

      网友评论

          本文标题:MongoDB常用复杂查询

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