mongodb - 对 MongoDB $in 查询的响应顺序?

$in 上的 MongoDB 文档条件运算符不说任何关于订单的内容。如果我运行表单查询

db.things.find({'_id': {'$in': id_array}});

返回结果的顺序是什么?有没有办法告诉 MongoDB “我希望对结果进行排序,以便它们与 id_array 中的 id 的顺序相同?”

最佳答案

在 JIRA 上请求此功能:

很快就得到了很好的响应:使用 $or 代替 $in

c.find( { _id:{ $in:[ 1, 2, 0 ] } } ).toArray()

对比

c.find( { $or:[ { _id:1 }, { _id:2 }, { _id:0 } ] } ).toArray()

阅读错误报告了解更多信息。

更新:

$or work-around hack 从 2.6.x 开始不再有效 - 这是实现的副作用,具有 changed .

https://stackoverflow.com/questions/3142260/

相关文章:

node.js - MongoDB Node 检查objectid是否有效

mysql - 何时使用 MongoDB

.net - 我应该使用哪个 NoSQL 数据库进行日志记录?

python - 如何使用 PyMongo 在 MongoDB 中创建新数据库?

mongodb - Mongoose 中权重的全文搜索

mongodb - 在 MongoDB 中查找最大的文档大小

node.js - Mongoose 'static' 方法与 'instance' 方法

mongodb - 所以......这个NoSQL的东西

MongoDB - $size 的参数必须是一个数组,但类型为 : EOO/missing

node.js - 判断预保存回调中是否有记录 "is new"