MongoDB Shell添加集合报错uncaught exception: SyntaxError: missing : after property id : @(shell):1:52

第一条里面有多个键值对,会报错。第二条里就只有一个键值对,不会报错。网上说这种报错涉及JSON的格式问题,要检查大括号、分号等符号细节。其实根本不是符号问题!我检查了很多遍符号使用和匹配,没有发现任何问题。问题出在输入的内容上:

每组集合里必须有一个值为整形的键值对,否则MongoDB将无法自动给这个集合匹配相应的id......我也不知道为啥.....啊等等,我悟了!看下图:

MongoDB大人真的对不起哇,我错了!确实是JSON格式的问题,但不是单纯的格式问题。报错的点并不在于是否有一个整形值的键值对,而是由于在之前的操作中,我的键都没有带引号,系统就会把几个引号并在一起,然后把里头的内容当成一个完整的键,它识别到命令最后的引号后没有冒号,当然会报错说:“啊你这个键值对怎么能没有冒号呢?“

但是为什么当集合中出现一个值为整形的键值对时,整个系统就不会报错,反而会给被粗心的我敲出来光秃秃的键值自动加上双引号呢?初步观察是,在两个值为字符串的键值对中间插入值为整形的键值对之后,它俩就隔得比远,不容易被“误判”为一对。

具体原因准备利用碎片时间了解一下。这个blog应该是可以无门槛二次编辑的吧??

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值