Невозможно использовать команды write mode error, деградирующие до режима совместимости

Я просто играю с Mongo shell и столкнулся с Cannot use commands write mode, degrading to compatibility mode.

я подключился к удаленному серверу mongo (mongolab) и попытался вставить новую запись в коллекцию моим простым скриптом:

// script.js
db = connect(host + ":" + port +"/" + dbName);
db.auth(username, password);

db.test2.insert({ item: "card", qty: 15 });

я запускаю скрипт mongo script.js и у:

MongoDB shell version: 2.6.3
connecting to: test
connecting to: my.mongolab.com:port/DBname
Cannot use commands write mode, degrading to compatibility mode

что не так? Кроме того, когда я выполнил подобный запрос после подключения через mongo my.mongolab.com:port/DBname -u <dbuser> -p <dbpassword> все ОК.

1 ответов


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

Вы можете проверить версию сервера из командной строки через db.version() - для проверки версии оболочки вы используете version()

начиная с 2.6 сервер mongod начал использовать новые команды записи, которые отличаются от ранее использовавшегося кода insert/update / remove op (все это описано в Протокол Провода MongoDB).

это безвредное "информационное" предупреждение. Это хорошая идея использовать ту же оболочку версии, что и сервер, чтобы не задаваться такими вопросами.