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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With