一、笔者在使用MongoDB创建集合的过程中,碰到了一个比较有意思的小问题。
db.createCollection("cd",{ capped : true,autoIndexId : true,size : 6142800B, max : 10000 } )
错误截图:
二、问题原因及分析
起初,笔者碰到这样的报错提升问题,脑海里第一反应就是_id字段的ObjectId的参数应该是字符串应该没有加 “”。
但是,笔者实际上是在创建固定集合这一步,还未开始到插入数据那一步。
于是,我开始继续分析,仔细思索后,笔者认定autoIndexId:true这里出了问题,因为笔者记得一个知识点,就是3.2版本之后不再支持这个参数,而笔者使用的是最新版本。
接着,笔者就开始去掉这个参数,继续往下走,如下:
db.createCollection("cd",{ capped : true,size : 6142800B, max : 10000 } )
没想到又报错了。
这时候,我开始仔细检查自己的代码是不是敲错了,于是,我开始检查,发现size : 6142800B后面多了个B,问题原因定位到了后,开始输入代码:
db.createCollection("cd",{ capped : true,autoIndexId : true,size : 6142800, max : 10000 } )
笔者加上autoIndexId : true这个是为了推翻之前关于版本的问题引起,然后运行结果如下:
这时候发现结果中,出现了"note": “The autoIndexId option is deprecated and will be removed in a future release”
提示我们这个参数被放弃了,但是运行结果还是ok的。
为了保持与时俱进,再优化下代码,开始前,先删除了集合cd,再操作如下:
db.createCollection("cd",{ capped : true,size : 6142800, max : 10000 } )
成功截图:
三、创建的集合成功截图
使用代码:show collections或show tables查看
四、总结
笔者是犯了小错误引起的,这着实不应该,大家引以为鉴。另外,这类提示错误定位原因,可以参考笔者分析的几个方向切入,一般在实际项目操作中,就这几个方向。
MongoDB创建集合基础知识巩固(大侠可以一试)
更多推荐
MongoDB提示:uncaught exception: SyntaxError: identifier starts immediately after n
发布评论