临近中午,接到一个任务,从mongodb中导出数据,匆匆写下
./mongoexport --port 8047 -d Adoc -c collectionA -f display,count,name -q {count:{"$gt":5000}} -o data.json
报错
assertion: 16619 code FailedToParse: FailedToParse: First character in field must be [A-Za-z$_]: offset:8
经过测试,发现错误是出现在-q之后的参数引起的。
查过资料,发现是对于双引号中的符号"$"未进行转义导致的,修改如下
./mongoexport --port 8047 -d Adoc -c collectionA -f display,count,name -q {count:{"\$gt":5000}} -o data.json
执行成功,正确的导出数据。
事实上,
./mongoexport --port 8037 -d Adoc -c collectionA -f display,count,name -q {count:{‘$gt’:5000}} -o data.json
这里直接使用单引号也可以解决,看来是双引号导致的"$"转义的问题。