MongoDB 语法错误:缺少语句前的分号 @(shell)

11 浏览
0 Comments

MongoDB 语法错误:缺少语句前的分号 @(shell)

当我尝试调用集合的方法时,为什么会出现错误SyntaxError: missing ; before statement @(shell)?谢谢。

$ mongo

MongoDB shell 版本:3.2.8

正在连接到:test

欢迎使用 MongoDB shell。

键入 "help" 以获取交互式帮助。

要获取更全面的文档,请访问

http://docs.mongodb.org/

有问题?请尝试支持组

http://groups.google.com/group/mongodb-user

服务器启动警告:

2016-08-04T11:58:21.138-0400 I CONTROL [initandlisten]

2016-08-04T11:58:21.138-0400 I CONTROL [initandlisten] ** 警告:/sys/kernel/mm/transparent_hugepage/enabled 为 'always'。

2016-08-04T11:58:21.138-0400 I CONTROL [initandlisten] ** 我们建议将其设置为 'never'

2016-08-04T11:58:21.138-0400 I CONTROL [initandlisten]

2016-08-04T11:58:21.139-0400 I CONTROL [initandlisten] ** 警告:/sys/kernel/mm/transparent_hugepage/defrag 为 'always'。

2016-08-04T11:58:21.139-0400 I CONTROL [initandlisten] ** 我们建议将其设置为 'never'

2016-08-04T11:58:21.139-0400 I CONTROL [initandlisten]

> show dbs

mydb 0.000GB

local 0.000GB

> use mydb

已切换到数据库 mydb

> show collections

201607012

> db

mydb

> mydb.201607012.find()

2016-08-04T12:10:23.826-0400 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:4

> db.201607012.find()

2016-08-04T12:10:29.000-0400 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:2

> db.201607012.find()

2016-08-04T12:11:09.115-0400 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:2

> db.201607012.stats()

2016-08-04T12:13:06.022-0400 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:2

0
0 Comments

在使用MongoDB的shell时,可能会遇到一个错误:“MongoDB SyntaxError: missing ; before statement @(shell)”。这个错误的出现有其原因,并且可以通过一些解决方法来解决。

造成这个错误的原因是,在mongoshell中使用quit()命令退出shell后,尝试在常规命令提示符中运行命令。这种情况下,由于命令提示符中不支持mongoshell的语法,就会出现语法错误。

要解决这个问题,我们可以按照以下步骤操作:

1. 在mongoshell中使用quit()命令退出shell。

2. 打开常规的命令提示符(例如,Windows的命令提示符或Mac的终端)。

3. 在命令提示符中输入所需的MongoDB命令,确保命令的语法正确。

4. 执行命令,即可正常运行。

以下是一段示例代码,展示如何解决这个问题:

> quit() // 退出mongoshell
$ mongo --version // 检查MongoDB版本,确保安装正确
MongoDB shell version v4.4.6 // 输出MongoDB版本信息
$ mongo // 打开常规命令提示符
> db.users.find() // 输入MongoDB命令
{ "_id" : ObjectId("60c8f8e2e6c8286b2c3e5a8c"), "name" : "John" } // 输出查询结果
>

通过按照上述步骤,我们可以顺利地在常规命令提示符中执行MongoDB命令,避免了“MongoDB SyntaxError: missing ; before statement @(shell)”错误的出现。

总结起来,当我们在mongoshell中使用quit()命令退出shell后,在常规命令提示符中运行MongoDB命令时可能会出现语法错误。为了解决这个问题,我们需要在常规命令提示符中执行MongoDB命令,并确保命令的语法正确。通过遵循上述步骤,我们可以成功地避免这个错误的出现,并正常地运行MongoDB命令。

0
0 Comments

在使用MongoDB的过程中,有时候会遇到一个错误提示:“MongoDB SyntaxError: missing ; before statement @(shell)”。下面我们来分析一下这个问题出现的原因以及解决方法。

根据MongoDB的文档(https://docs.mongodb.com/manual/reference/limits/#naming-restrictions),集合的名称应该以下划线或字母字符开头。如果集合名称不符合这个规定,就会出现上述的语法错误。

为了解决这个问题,我们可以参考以下两个链接(https://stackoverflow.com/questions/9790049 和 https://stackoverflow.com/questions/7111830),来删除或访问错误命名的集合。

0
0 Comments

问题:MongoDB SyntaxError: missing ; before statement @(shell)

原因:在运行mongoexport命令时,缺少分号分隔符,导致语法错误。

解决方法:在命令中添加分号分隔符。

具体步骤如下:

1. 打开一个新的命令提示符窗口。

2. 以管理员身份运行命令提示符窗口。

3. 输入mongoexport命令,确保在命令的末尾添加分号分隔符。

示例代码:

mongoexport --db dbname --collection collectionname --out outputfile.json;

以上操作将解决MongoDB SyntaxError: missing ; before statement @(shell)的问题。

0