如果值相同,mongoDB在排序时如何排序值?

时间:2016-10-19 04:12:42

标签: mongodb mongoose

例如,如果我按照以下方式对集合进行排序:

 `[{id: 1, val: 1}, {id: 2, val: 2} , {id: 3, val: 3}, {id: 4, val: 2}]

等。它如何确定2的哪个val首先出现?

1 个答案:

答案 0 :(得分:1)

如果查询正在读取从索引排序的值,则排序很可能会继承文档在索引(https://docs.mongodb.com/manual/reference/method/cursor.sort/#sort-and-index-use)中的存储方式。

例如,如果查询正在读取从索引//sharedworker.js /*assuming we open page a first, page b second*/ const A = "A"; const B = "B"; let portA; let portB; self.addEventListener("connect", function(connectEvent) { const port = connectEvent.ports[0]; port.addEventListener("message", function(event) { const data = event.data; if (data.start) { if (data.from === A) { portA = port; } else { portB = port; } } else { console.log(data); portB.postMessage(data);//relay message } console.log(`Shared worker memory report portA, portB: ${portA}, ${portB}`); }); port.start(); }, false); 预先排序的结果,则结果可能会按字段" val2"排序。

如果文档正在内存中进行排序,那么结果可能无法保证具有超出sort子句中指定的特定顺序。