在mongodb shell中,此命令在数据库中查找文档:
> db.messages.find({'headers.value': /姚/ }).count()
> 9
请注意中文字符。
该字符是\u59e6
的Unicode转义符。
但是这些查询均未产生任何匹配(返回null
,count()返回0):
> db.messages.find({'headers.value': new RegExp("\u59e6") }).count()
> db.messages.find({'headers.value': new Regexp('\u59e6') }).count()
> db.messages.find({'headers.value': /\\u{59e6}/ }).count()
> db.messages.find({'headers.value': /\u{59e6}/ }).count()
> db.messages.find({'headers.value': {regex: '\\u{59e6}'}}).count()
> db.messages.find({'headers.value': {regex: '\u{59e6}'}}).count()
> 0
所有这些返回0,除了最后一个,我都省略了。
有人可以帮助我如何在mongodb shell中的regexp中正确转义unicode字符吗?我想最后定义带有unicode范围的查询。