输出mongo查询后,Json文件中的结果不正确

时间:2018-09-03 10:49:59

标签: json linux mongodb unix mongo-shell

我想将查询的"executionStats"写入查询,并将查询本身输出到json文件中。为此,我从linux命令行运行mongo查询,而不是使用Mongo Shell。我之所以这样,是因为我在运行一系列测试的.sh脚本中工作,并且在执行每个mongo查询之后,我需要输入sleep命令。

这是我的linux语句和mongo查询:

mongo test --eval 'printjson(db.prueba1gb_4.explain("executionStats").aggregate ([{$addFields: {HOMETAG: {$concat: [{$toString:"$PlateState"}, "-", {$toString:"$TagAgencyID"}]}}}, {$out: "trans1gb"}]))' >> trans1.json;

如果我仅运行此语句,它就可以正常工作,并且所有内容都在Mongo中被执行,json文件也被创建。当我访问json文件以查找以下内容时,问题就来了:

MongoDB shell version v4.1.1
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 4.1.1
2018-08-31T12:23:13.812+0000 E QUERY    [js] SyntaxError: invalid property id @(shell eval):1:62
MongoDB shell version v4.1.1
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 4.1.1
2018-08-31T12:32:26.038+0000 E QUERY    [js] SyntaxError: invalid property id @(shell eval):1:52
MongoDB shell version v4.1.1
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 4.1.1
2018-08-31T13:14:38.058+0000 E QUERY    [js] SyntaxError: invalid property id @(shell eval):1:62
MongoDB shell version v4.1.1
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 4.1.1
2018-08-31T13:20:04.308+0000 E QUERY    [js] SyntaxError: invalid property id @(shell eval):1:52

我不知道出了什么问题,sintax似乎是正确的,而mongo负责一切。问题是json输出。

在此方面,我将不胜感激。

预先感谢

0 个答案:

没有答案