Многократная вставка в mongodb - обновляется только первая коллекция
Я пытаюсь обновить свои коллекции в моем экземпляре mongodb, размещенном на mlab.
Я запускаю следующий код:
...
db.collectionOne.insert(someArrayOfJson)
db.collectionTwo.insert(someArrayOfJson)
Первая коллекция обновляется, а вторая нет.
Использование одинаковых / разных допустимых массивов 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 ответа
Каков общий размер данных???
вот пример кода, он работает для меня
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.
Как вы определили, что вторая коллекция не обновилась?
Я полагаю, вы просто видите разницу между базами данных NoSQL и SQL. База данных SQL гарантирует, что чтение после успешной записи прочитает только что записанные вами данные. База данных NoSQL не гарантирует, что вы можете сразу же прочитать данные, которые вы только что написали. Смотрите этот ответ для более подробной информации.