Невозможно использовать команды 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).
это безвредное "информационное" предупреждение. Это хорошая идея использовать ту же оболочку версии, что и сервер, чтобы не задаваться такими вопросами.