当我使用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 :
答案 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?