insertMany и набор реплик - PullRequest
1 голос
/ 28 мая 2020

У меня есть база данных MongoDB, состоящая из одного ПЕРВИЧНОГО и одного ВТОРИЧНОГО экземпляров (набор реплик) на одном сервере. Когда я выполняю команду insertMany ():

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

, происходит что-то странное. Мой основной сервер сохраняет данные в правильном порядке (тот, который я указал), тогда как ВТОРИЧНЫЙ экземпляр сохраняет документы случайным образом. Я пробовал вставлять документы один за другим, создавая сеанс, и все oop:

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

все равно дают тот же результат. Это почему? Может ли решение быть чем-то связанным с записью? Заранее спасибо !!!

1 Ответ

1 голос
/ 28 мая 2020

Документы в коллекциях MongoDB не упорядочены.

Если вы добавляете некоторые документы в коллекцию и выполняете поиск без условий для этой коллекции, вы можете вернуть документы в том порядке, в котором вы их вставляли, или в другой порядок.

Чтобы получить документы в определенном порядке, запросите порядок в запросе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...