mongoexport与正则表达式查询

时间:2012-10-25 16:44:18

标签: mongodb

我正在尝试使用以下mongoexport命令从mongo数据库导出以搜索文本表情符号:

mongoexport -d <db> -c <col> -f text -q '{text: /.*:\)/}'

但是当我尝试执行命令时,mongoexport返回:

  

断言:10340解析JSON字符串附近失败:text:/.*:

我试图使用十六进制转义为正确的paren:

mongoexport -d <db> -c <col> -f text -q '{text: /.*:\x29/}'

但是我在同一个位置得到了同样的错误。看来mongoexport解析器在遇到'\'时会停止。我很难相信mongoexport有这个限制(因为它使得使用正则表达式几乎不可能),所以我做错了什么?

1 个答案:

答案 0 :(得分:2)

我可以问你为什么试图逃脱正确的帮助吗?我尝试了你的查询,没有在正确的paren之前逃脱它并且它工作:'{text: /.*:)/}'

作为替代方案,如果在查询中需要转义,则必须转义转义符号,因为字符串被解析两次(shell,然后是数据库):'{text: /.*:\\)/}'