如果使用--eval运行Mongo返回语法错误

时间:2017-11-22 11:42:34

标签: mongodb mongodb-query syntax-error

当我使用mongo --eval运行下面提到的查询时,它会给出“SyntaxError:Unexpected token:”但是当使用mongo shell运行它时它工作正常。
任何人都可以指导为什么会这样。

Mongo Command

mongo 127.0.0.1:27017/ne --eval "printjson(db.reader.find({  accessDate  :  { $lte : 20171122 , $gte : 20171112 }, actDate  :  { $lte : 20171122 , $gte : 20171112 } }).toArray())" > /home/output2.json

输出

MongoDB shell version: 2.6.3 connecting to: 127.0.0.1:27017/ne 2017-11-22T14:09:28.258+0530 SyntaxError: Unexpected token :

1 个答案:

答案 0 :(得分:0)

您的代码对我有用,我唯一的问题是写入/home/output2.json的输出:

$ mongo 127.0.0.1:27017/ne --eval "printjson(db.reader.find({  accessDate  :  { $lte : 20171122 , $gte : 20171112 }, actDate  :  { $lte : 20171122 , $gte : 20171112 } }).toArray())" > /home/output2.json
-bash: /home/output2.json: Operation not supported

$ mongo 127.0.0.1:27017/ne --eval "printjson(db.reader.find({  accessDate  :  { $lte : 20171122 , $gte : 20171112 }, actDate  :  { $lte : 20171122 , $gte : 20171112 } }).toArray())" > output2.json

$ ll output2.json
-rw-r--r--  1 myname  staff   205B Nov 22 11:53 output2.json

$ mongo --version
MongoDB shell version v3.4.7

您使用的是什么版本的mongo?