Многократная вставка в mongodb - обновляется только первая коллекция - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь обновить свои коллекции в моем экземпляре mongodb, размещенном на mlab.

Я выполняю следующий код:

...
db.collectionOne.insert(someArrayOfJson)
db.collectionTwo.insert(someArrayOfJson)

Первая коллекция обновляется, а вторая нет 't.

Использование одинаковых / разных допустимых массивов Json дает одинаковый результат.Обновляется только первый.

Я видел этот вопрос дубликат документа - та же коллекция , и я могу понять, почему это не сработает.Но моя проблема в двух отдельных коллекциях?

При вставке данных вручную в mlab документ переходит во вторую коллекцию в порядке - поэтому я считаю, что он позволяет дублировать данные в отдельных коллекциях.

Я новичок в Монго - мне не хватает чего-то простого?

Обновление:

Ответ:

22:01:53.224 [main] DEBUG org.mongodb.driver.protocol.insert - Inserting 20 documents into namespace db.collectionTwo on connection [connectionId{localValue:2, serverValue:41122}] to server ds141043.mlab.com:41043
22:01:53.386 [main] DEBUG org.mongodb.driver.protocol.insert - Insert completed
22:01:53.403 [main] DEBUG org.mongodb.driver.protocol.insert - Inserting 20 documents into namespace db.collectionOne on connection [connectionId{localValue:2, serverValue:41122}] to server ds141043.mlab.com:41043
22:01:55.297 [main] DEBUG org.mongodb.driver.protocol.insert - Insert completed

Но там ничего нетвведен в БД для второго набора данных.

Обновление v2:

Если я сделаю вызов после двух вставок, таких как:

db.createCollection("log", { capped : true, size : 5242880, max : 5000 } )

Коллекции данных обновляются!

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

каков общий размер данных ???

вот пример кода, который работает для меня

db.collectionOne.insert([{"name1":"John","age1":30,"cars1":[ "Ford", "BMW", "Fiat"]},{"name1":"John","age1":30,"cars1":[ "Ford", "BMW", "Fiat" ]}]); db.collectionTwo.insert([{"name2":"John","age2":30,"cars2":[ "Ford", "BMW", "Fiat"]},{"name2":"John","age2":30,"cars2":[ "Ford", "BMW", "Fiat" ]}])

Если данных больше, вы можете использовать " Операции массовой записи Mongo", а также вы можете ссылаться на пределы и пороги Mongo DB

https://docs.mongodb.com/manual/reference/limits

0 голосов
/ 31 октября 2018

Как вы определили, что вторая коллекция не обновилась?

Полагаю, вы просто видите разницу между базами данных NoSQL и SQL.База данных SQL гарантирует, что чтение после успешной записи прочитает только что записанные вами данные. База данных NoSQL не гарантирует, что вы можете сразу же прочитать только что записанные данные. Подробнее см. этот ответ .

...