【问题标题】:Can I use $in with skip, limit in mongodb?我可以在 mongodb 中使用 $in 和跳过、限制吗?
【发布时间】:2016-05-13 06:26:44
【问题描述】:

在nodejs中使用猫鼬,我想找一些数据,就像:

 var idnos = [1,2,3,.....] // an id array      
 var users = yield users.find({idno:{$in: idnos}}).sort({_id: -1}).skip(skip).limit(limit);

可以用$in吗?恐怕数据会随机变成idnos是一个数组。我测试它并且它工作。但是我还是很困惑。

【问题讨论】:

    标签: mongodb mongoose limit skip


    【解决方案1】:

    您的实现是正确的。在 mongodb 中使用 $inskiplimit 没有任何限制。如果您想彻底清除您的困惑,那么您可以查看 $inskiplimit 在 mongodb 中的工作方式。

    Documentation for $in

    Documentation for skip

    Documentation for limit

    因为,您正在对结果进行排序。你应该看看sort

    对于这种场景,mongodb中的explain()非常强大。它返回有关以下操作的查询计划的信息: 总计的();数数();清楚的();寻找();团体();消除();和 update() 方法。

    所以,您可以使用explain() 并查看信息...

    db.users.explain().find({idno:{$in: idnos}}).sort({_id: -1}).skip(skip).limit(limit);
    

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      相关资源
      最近更新 更多