【问题标题】:insertMany and replica setinsertMany 和副本集
【发布时间】:2020-09-16 05:17:34
【问题描述】:

我在同一台服务器上有一个由一个 PRIMARY 和一个 SECONDARY 实例(副本集)组成的 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 insert replicaset


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-06-26
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 2021-04-20
      • 1970-01-01
      • 2021-07-20
      相关资源
      最近更新 更多