插入多个和副本集

问题描述 投票:0回答:1

我有一个MongoDB数据库,在同一台服务器上由一个primary和一个secondary实例(复制集)组成。当我执行insertMany()命令时,发生了一些奇怪的事情。

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

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

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

但结果还是一样。为什么会出现这种情况?解决方法是否与写关注有关?先谢谢了!!!!!!!!!!!。

mongodb insert replicaset
1个回答
0
投票

MongoDB集合中的文档是没有排序的。

如果你将一些文档添加到一个集合中,并在该集合上执行一个没有条件的查找,你可能会按照你插入文档的顺序或以不同的顺序得到文档。

要以特定的顺序来获取文档。请命.

© www.soinside.com 2019 - 2024. All rights reserved.