我的情况有点奇怪……我有一个故意包含重复项的键列表。为了参数的缘故,我们假设这个列表看起来像[1,2,3,2,1]
。目前,获取属于这些 Id 的文档的代码在键列表上循环,调用findOne()
并将文档推送到数组中。
所以我们有一个这样的结构:
for (var i = 0; i < keys.length; i++) {
documents.push(db.items.findOne(keys[i]);
}
我想知道是否有办法以更……优雅……的方式做到这一点,最好用一个查询?保持订单将是一个加号,但不是严格要求。
编辑: 请注意,这是一个 MongoDB 问题。我正在寻找一种方法来用对 db.items.find() 的一次调用来替换上述循环。