我正在尝试使用以下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有这个限制(因为它使得使用正则表达式几乎不可能),所以我做错了什么?
答案 0 :(得分:2)
我可以问你为什么试图逃脱正确的帮助吗?我尝试了你的查询,没有在正确的paren之前逃脱它并且它工作:'{text: /.*:)/}'
作为替代方案,如果在查询中需要转义,则必须转义转义符号,因为字符串被解析两次(shell,然后是数据库):'{text: /.*:\\)/}'