MongoDB 来自 bash 语法错误意外标记:
MongoDB from bash Syntax Error Unexpected Token :
我正在尝试从 bash shell 启动搜索。
root@mongo01:~# mongo mydb --quiet --shell --eval "printjson(db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty())"
type "help" for help
2015-02-23T14:45:09.256+0100 SyntaxError: Unexpected token :
如您所见,我遇到了一个错误。
但是,从 mongo shell 启动相同的程序。
root@axn-mongo01:~# mongo mydb
MongoDB shell version: 2.6.7
connecting to: mydb
> db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty()
{
"linkId" : "_guid_F5BDEJFk2hvxyamKIVePEw==",
"_id" : ObjectId("546dc5e47d479b1d0d8b45aa")
}
{
"linkId" : "_guid_F5BDEJFk2hvxyamKIVePEw==",
"_id" : ObjectId("546debdf7d479b686f8b458d")
}
{
"linkId" : "_guid_EcWY0_RmDs8wA2T9LuVAGtiDfUHf8i-jLxTrhDXjzo8=",
"_id" : ObjectId("546df6237d479b62698b45be")
有人知道发生了什么事吗?谢谢
美元符号 $
正在被您的 shell 插入,您可以使用 echo 查看发生了什么:
echo mongo mydb --quiet --shell --eval "printjson(db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty())"
mongo mydb --quiet --shell --eval printjson(db.userContests.find({linkId: {: null}}, {linkId: 1}).pretty())
如您所见,您的 shell 正在解析 $ne
,这是未设置的,因此生成无效语法。
要修复它,请改用单引号:
mongo mydb --quiet --shell --eval 'printjson(db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty())'
我正在尝试从 bash shell 启动搜索。
root@mongo01:~# mongo mydb --quiet --shell --eval "printjson(db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty())"
type "help" for help
2015-02-23T14:45:09.256+0100 SyntaxError: Unexpected token :
如您所见,我遇到了一个错误。
但是,从 mongo shell 启动相同的程序。
root@axn-mongo01:~# mongo mydb
MongoDB shell version: 2.6.7
connecting to: mydb
> db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty()
{
"linkId" : "_guid_F5BDEJFk2hvxyamKIVePEw==",
"_id" : ObjectId("546dc5e47d479b1d0d8b45aa")
}
{
"linkId" : "_guid_F5BDEJFk2hvxyamKIVePEw==",
"_id" : ObjectId("546debdf7d479b686f8b458d")
}
{
"linkId" : "_guid_EcWY0_RmDs8wA2T9LuVAGtiDfUHf8i-jLxTrhDXjzo8=",
"_id" : ObjectId("546df6237d479b62698b45be")
有人知道发生了什么事吗?谢谢
美元符号 $
正在被您的 shell 插入,您可以使用 echo 查看发生了什么:
echo mongo mydb --quiet --shell --eval "printjson(db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty())"
mongo mydb --quiet --shell --eval printjson(db.userContests.find({linkId: {: null}}, {linkId: 1}).pretty())
如您所见,您的 shell 正在解析 $ne
,这是未设置的,因此生成无效语法。
要修复它,请改用单引号:
mongo mydb --quiet --shell --eval 'printjson(db.userContests.find({linkId: {$ne: null}}, {linkId: 1}).pretty())'