NHG*_*NHG 21 mongodb mongo-shell
我只是玩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 });
Run Code Online (Sandbox Code Playgroud)
我运行脚本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
Run Code Online (Sandbox Code Playgroud)
怎么了?另外当我连接后执行类似的查询mongo my.mongolab.com:port/DBname -u <dbuser> -p <dbpassword>一切都OK.
Asy*_*sky 26
您正在使用比它正在与之通信的服务器更新的shell.
您可以通过db.version()- 检查shell中的服务器版本- 以检查您使用的shell版本version()
从2.6开始,mongod服务器开始使用新的写命令,这些命令与先前使用的插入/更新/删除操作码不同(这在MongoDB有线协议中都有描述).
这是一个无害的"信息"警告.最好使用相同的版本shell作为服务器,以避免对这些事情感到疑惑.