获取 MongoDB 错误 - SyntaxError: Unexpected token?

Posted

技术标签:

【中文标题】获取 MongoDB 错误 - SyntaxError: Unexpected token?【英文标题】:Getting MongoDB error - SyntaxError: Unexpected token? 【发布时间】:2015-08-04 11:15:31 【问题描述】:

我是一个 Mongo 数据库。有一个名为_migrations 的集合。我正在尝试将几个文档插入集合中。但我收到以下错误SyntaxError: Unexpected token ?。我的代码如下。

db._migrations.insert([

  "_id" : "1_create-organization-collection"
,

  "_id" : "2_create-dataFilter-collection"
,

  "_id" : "3_create-application-collection"
,

  "_id" : "4_migrate-datafilters-to-mongo"
,

  "_id" : "5_Add-Salesforce-DataFilters"
,

  "_id" : "6_biq-repository-data-fiter"
]);

我做错了什么?

【问题讨论】:

感谢您的所有回答。我已经解决了这个问题。问题是当我将它粘贴到外壳中时,方括号后插入了一个额外的空格字符。删除多余的空间后,代码工作正常。 【参考方案1】:

您能否尝试在您的收藏名称中删除下划线(“”)?我尝试使用下划线,但它对我不起作用,但是当我尝试不使用下划线(“”)时,插入了相同的数据。因此,请尝试在您的收藏名称中不带下划线。

【讨论】:

【参考方案2】:

_id 字段值可以插入到 ObjectId 类型大小写之后。它会像下面这样工作 -

 db._migrations.insert([
    "_id" : ObjectId("1_create-organization-collection") ,  
    "_id" : ObjectId("2_create-dataFilter-collection") 
 ]);

【讨论】:

【参考方案3】:

有关此问题的更多详细信息,请参阅以下链接:

Is there a convention to name collection in MongoDB?

Mongo client can't access collections prefixed with an underscore

Mongo shell 不支持以下划线(“_”)开头的集合名称

【讨论】:

以上是关于获取 MongoDB 错误 - SyntaxError: Unexpected token?的主要内容,如果未能解决你的问题,请参考以下文章

从 mongoDB 和 Nodejs 获取数据:toArray 不是函数错误 [重复]

SyntaxError Unexpected token 'export' (nuxt vue-echarts)

java mongodb“geoNear”命令返回异常错误17304

Jest with Styled Components 错误:解析预期 css 的语法错误:缺少“”

MongoDb 聚合 $match 错误:“参数必须是聚合管道运算符”

/bin/sh: 1: 语法错误:反引号替换中的 EOF