在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是一个数组。我测试它,它的工作原理。我仍然感到困惑。
答案 0 :(得分:0)
您的实施是正确的。在mongodb中使用$in
skip
,limit
没有限制。如果您想彻底清除您的困惑,那么您可以查看$in
,skip
和limit
在mongodb中的工作方式。
因为,您正在对结果进行排序。你应该看一下sort
对于这种情况,mongodb中的explain()非常强大。它返回有关以下操作的查询计划的信息: 骨料();计数();不同();找();组();去掉();和update()方法。
因此,您可以使用explain()
并查看信息......
db.users.explain().find({idno:{$in: idnos}}).sort({_id: -1}).skip(skip).limit(limit);