insertMany 和副本集

insertMany and replica set

我有一个 MongoDB 数据库,由同一台服务器上的一个主要实例和一个次要实例(副本集)组成。当我执行 insertMany() 命令时:

let docsArray = []
for(i = 0; i <= 7; i++){
   let docsArray.push(
       {something: i}
   );
}
await collection.insertMany(docsArray)

奇怪的事情发生了。我的主服务器以正确的顺序(我指定的顺序)保存数据,而 SECONDARY 实例以某种随机方式保存文档。我尝试通过创建会话和循环来一个接一个地插入文档:

for(i = 0; i <= 7; i++){
     let newDoc = something + i;
     await newDoc.save({session});
 } 

仍然给出相同的结果。这是为什么?解决方案可以与 Write Concern 相关吗?提前致谢!!!

MongoDB 集合中的文档未排序。

如果您将一些文档添加到集合中并在该集合上执行无条件查找,您可能会以插入它们的顺序或不同的顺序取回文档。

要按特定顺序获取文档,request the order in the query