使用MongoSH执行DocumentDB listChangeStreams命令时遇DBCommandCursor未定义错误
解决MongoSH中"ReferenceError: DBCommandCursor is not defined"问题
问题原因
DBCommandCursor是旧版MongoDB Shell(mongo)专属的API,而你使用的MongoDB Compass内置的是新版Mongo Shell(mongosh),该API在mongosh中已被移除,因此会触发未定义错误。
修正后的命令
无需手动实例化DBCommandCursor,直接使用db.runCommand返回的游标即可:
const cursor = db.runCommand({ aggregate: 1, pipeline: [{$listChangeStreams: 1}], cursor: {} }).cursor; // 遍历游标查看所有变更流结果 cursor.forEach(doc => printjson(doc));
补充说明
AWS DocumentDB的官方文档可能基于旧版Mongo Shell编写,而mongosh对部分API做了简化调整。执行上述命令后,即可正常列出所有变更流。
内容的提问来源于stack exchange,提问作者outstacked
相关产品推荐
相关产品推荐

