无法使用命令写入模式错误,降级为兼容模式

时间:2014-07-23 16:45:05

标签: 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 });

我按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 个答案:

答案 0 :(得分:26)

您使用的shell比其正在与之通信的服务器更新。

您可以通过db.version()检查shell中的服务器版本 - 检查您使用的shell版本version()

从2.6开始,mongod服务器开始使用新的写入命令,这些命令与先前使用的插入/更新/删除操作码不同(这在MongoDB Wire Protocol中有所描述)。

这是一个无害的“信息”警告。最好使用相同的版本shell作为服务器,以避免对这些事情感到疑惑。