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

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

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



我试图对右括号使用十六进制转义符:
mongoexport -d <db> -c <col> -f text -q '{text: /.*:\x29/}'

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

最佳答案

我能问你为什么要逃避正确的 parent 吗?我在正确的括号之前尝试了没有转义的查询,并且它起作用了:'{text: /.*:)/}'
作为替代方案,如果您需要在查询中转义,那么您必须转义转义符号,因为字符串被解析两次( shell ,然后是数据库):'{text: /.*:\\)/}'

关于mongodb - 带有正则表达式查询的 mongoexport,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13073330/

10-11 13:10