美文网首页
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