为什么使用 $exist 的 mongoexport 查询失败?

Why does mongoexport query with $exist fail?

我正在尝试使用如下命令将 mongoexport(版本 2.6)MongoDB 数据转换为 csv 格式

mongoexport --port 27017 -d test -q "{userId:{$exists:true} , name:'John'}"-c user_datas -f userId --csv -o /myOutFile.csv

我收到了这条错误信息:

assertion: 16619 code FailedToParse: FailedToParse: First character in field must be [A-Za-z$_]: offset:9 of:{userId:{true},name:John}

根据错误消息,“$exists”上发生了导致错误的事情。 我的命令有什么问题?

您需要反转引号:

'{userId: {$exists: true} , name: "John"}'

工作指令:

mongoexport \
  --port 27017 \
  -d test \
  -q '{userId: {$exists: true} , name: "John"}' \
  -c user_datas \
  -f userId \
  --csv \
  -o /myOutFile.csv