Cannot use commands write mode error, Degrading to compatibility mode
I just play with mongo shell and came across with Cannot use commands write mode, degrading to compatibility mode.
I connected to remote mongo server (mongolab) and tried to insert new record to collection by my simple script:
// script.js db = connect(host + ":" + port +"/" + dbName); db.auth(username, password); db.test2.insert({ item: "card", qty: 15 });
I run script by mongo script.js and got:
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
What is wrong? Additionally when I executed similar query after connected via mongo my.mongolab.com:port/DBname -u <dbuser> -p <dbpassword> everything is OK.
Answers
You are using a shell that's newer than the server it's communicating with.
You can check the server version from the shell via db.version() - to check shell version you use version()
Starting with 2.6 the mongod server started using new write commands which are different than the previously use insert/update/remove op code (this is all described in the MongoDB Wire Protocol).
This is a harmless "informational" warning. It's a good idea to use the same version shell as the server to avoid wondering about such things though.