Mongodb报错:SyntaxError: identifier starts immediately after numeric literal

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

我在练习mongodb命令的时候,这段怎么也无法通过,一直报错:

SyntaxError: identifier starts immediately after numeric literal

db.mycol.insertMany([{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by_user: 'runoob',
   url: 'http://www.runoob',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   _id: ObjectId(7df78ad8902d)
   title: 'NoSQL Overview', 
   description: 'No sql database is very fast',
   by_user: 'runoob',
   url: 'http://www.runoob',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 10
},
{
   _id: ObjectId(7df78ad8902e)
   title: 'Neo4j Overview', 
   description: 'Neo4j is no sql database',
   by_user: 'Neo4j',
   url: 'http://www.neo4j',
   tags: ['neo4j', 'database', 'NoSQL'],
   likes: 750
}])

后来,把这段里面的三个_id字段去掉就执行成功了

db.mycol.insertMany([{
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by_user: 'runoob',
   url: 'http://www.runoob',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   title: 'NoSQL Overview', 
   description: 'No sql database is very fast',
   by_user: 'runoob',
   url: 'http://www.runoob',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 10
},
{
   title: 'Neo4j Overview', 
   description: 'Neo4j is no sql database',
   by_user: 'Neo4j',
   url: 'http://www.neo4j',
   tags: ['neo4j', 'database', 'NoSQL'],
   likes: 750
}])

解析:

原来是_id字段有三处错误

第一:该字段最后没有加逗号,

第二:ObjectId的参数应该是字符串应该加 “”

第三:_id对字符串似乎对长度有要求,24位如:5ce742df49b868781061e446,多一个或者少一个不能执行通过,

报错如下:   [js] Error: invalid object id: length

所以正确的是应该是:

db.auto.insertMany([{
   _id: ObjectId("5ce742df49b868781061e446"),
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by_user: 'runoob',
   url: 'http://www.runoob',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   _id: ObjectId("5ce742df49b868781061e447"),
   title: 'NoSQL Overview', 
   description: 'No sql database is very fast',
   by_user: 'runoob',
   url: 'http://www.runoob',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 10
},
{
   _id: ObjectId("5ce742df49b868781061e448"),
   title: 'Neo4j Overview', 
   description: 'Neo4j is no sql database',
   by_user: 'Neo4j',
   url: 'http://www.neo4j',
   tags: ['neo4j', 'database', 'NoSQL'],
   likes: 750
}])

 

更多推荐

Mongodb报错:SyntaxError: identifier starts immediately after numeric literal

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

发布评论

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

>www.elefans.com

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

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