Установка проблемы записи MongoDB в сценарии оболочки / оболочки

Я пытаюсь заполнить коллекцию в оболочке MongoDB. Насколько я понимаю, использование расслабленного Write Concern может значительно ускорить процесс. Я говорю о документации о том, как работают Write Concerns, но все, о чем он говорит, это о том, как они работают, а не о том, как их установить (он говорит, что это устанавливается в драйвере). И я видел документы для разных драйверов и как они в них устанавливаются, но я не могу найти, как Write Concerns устанавливаются в самой оболочке MongoDB! Кто-нибудь знает, как их установить из оболочки?

[ОБНОВЛЕНИЕ]

Чтобы заполнить мою базу данных, я использовал файл .js и передал его команде mongo следующим образом:

mongo ./test.js

А вот содержимое файла test.js:

for (var i=0; i<1000000; i++) {
    db.kingdom.insert([
        { "counter" : 0, "last_update" : new Date() }
        , { "counter" : 0, "last_update" : new Date() }
        ...
        , { "counter" : 0, "last_update" : new Date() }
    ]);
}

Массив данных рассчитан на 100 объектов одинаковой структуры.


person Mehran    schedule 28.09.2013    source источник
comment
оболочка использует safe в том смысле, что вызывает getLastError после каждой команды (т. е. возврата каретки). Если вы записываете данные, скажем, в цикле, то GLE будет вызываться только один раз в конце. Предоставьте более подробную информацию о том, как вы планируете заполнять коллекцию из оболочки - возможно, все будет правильно.   -  person Asya Kamsky    schedule 29.09.2013


Ответы (1)


Вы можете указать проблему записи для каждой операции вставки/обновления:

db.blogs.insert({title: 'новая запись в блоге'}, {writeConcern: {j: true}})

person Oliver Wolf    schedule 22.12.2014
comment
Конечно, вы можете указать WriteConcern, но даже взглянув на документацию mongodb, Я не мог понять правильный синтаксис. Там написано только: {w: ‹value›, j: ‹boolean›, wtimeout: ‹number› } Нет никаких доказательств того, что это должно быть значение поля writeConcern, как вы выяснили (как вы это сделали?) . Спасибо! - person Kay; 31.07.2018