我可以在跳过时使用$ in,在mongodb中限制吗?

时间:2016-05-13 06:26:44

标签: mongodb mongoose limit skip

在nodejs中使用mongoose,我想找到一些数据,如:

 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是一个数组。我测试它,它的工作原理。我仍然感到困惑。

1 个答案:

答案 0 :(得分:0)

您的实施是正确的。在mongodb中使用$in skiplimit没有限制。如果您想彻底清除您的困惑,那么您可以查看$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);