MongoDB提示:uncaught exception: SyntaxError: identifier starts immediately after numeric literal :

编程知识 更新时间:2023-05-01 21:39:24

一、笔者在使用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

本文发布于:2023-04-24 03:15:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/f8e89b9c295f78633545a362fe18e9e1.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:提示   exception   SyntaxError   MongoDB   uncaught

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 99564文章数
  • 25942阅读数
  • 0评论数