Node.js插入MongoDB的文档在shell中无法查看,求排查解决
问题解决啦!
哈哈,一眼就看到你哪里出错了——你在MongoDB Shell里查询的时候用错了集合名!
核心错误:Shell命令里的集合名写错了
你在Node.js脚本里操作的是edx-course-students这个集合,但在Shell里你执行的是:
db.collection.find({})
这里的collection只是一个通用术语,根本不是你的实际集合名呀!再加上你的集合名里有连字符-,直接用点语法db.edx-course-students.find()也会报错,所以得用正确的方式引用带特殊字符的集合名。
正确的查询命令
你可以用以下任意一种方式查询你的集合:
- 用方括号包裹集合名:
db['edx-course-students'].find({})
- 用双引号包裹集合名:
db["edx-course-students"].find({})
- 使用
getCollection方法(更直观):
db.getCollection('edx-course-students').find({})
执行上面任意一条命令,就能看到你插入的Bob、John、Peter这三条文档啦!
额外小提示
- 你已经验证了脚本和Shell指向的是同一个数据库(删除
mytestingdb后脚本也查不到数据),所以完全不用担心连接或者数据存储的问题。 - 另外你的mongod版本是3.0.15,而Shell是3.6.1,跨版本使用虽然不会影响基础操作,但尽量保持版本一致能避免一些潜在的兼容性问题哦。
内容的提问来源于stack exchange,提问作者Alejandro Montilla
相关产品推荐
相关产品推荐

