问答

mongodb lookup查询溢出问题

作者:admin 2021-04-22 我要评论

如题 连表查询时 数据量太大经常性溢出,请问有什么好的处理方法?本人刚用mongodb不久 这问题困扰多时 db.user.aggregate([ { "$match": { "regis_time": { "$g...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

如题 连表查询时 数据量太大经常性溢出,请问有什么好的处理方法?本人刚用mongodb不久 这问题困扰多时
db.user.aggregate([

{
    "$match": {
        "regis_time": {
            "$gte": 1609689600,
            "$lt":1614076936
        }
    }
},
{
    "$lookup": {
        "from": "expire",
        "localField": "user",
        "foreignField": "username",
        "as": "expire"
    }
},
{
    "$project": {
        "user": 1
    }
},
{
    "$unwind": "$expire"
},
{
    "$match": {
        "expire.deadtime": {
            "$gte": 1614238275
        }
    }
}

])

###

mongo并不怎么推荐这种连表的方式。lookup一般只用来查询好的数据引入其他的集合一并返回。聚合的数据是一个流,你前面match加入搜索到100条数据,就相当于100元素依次流淌下去,每一个都需要经历整个聚合。所以效率肯定不高。

如果非要这么查询,数据量不大可以在应用端查询做到。如果很频繁的查询,可以把主要的子弹冗余到查询集合中,简单查询就可以做到了。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • mongodb lookup查询溢出问题

    mongodb lookup查询溢出问题

  • 电子签章: 数字签名过后的PDF,导入根

    电子签章: 数字签名过后的PDF,导入根

  • 正则在windows 可以匹配到,linux 匹配

    正则在windows 可以匹配到,linux 匹配

  • linux 命令求解

    linux 命令求解

腾讯云代理商
海外云服务器