MongoDB正则表达式查询查找unicode替换字符

发布于 2024-12-06 18:39:15 字数 394 浏览 0 评论 0原文

我正在尝试手动修复 Mongo 数据库中的一些包含 Unicode 替换字符的文档(看起来像问号,请参阅 http://www.fileformat.info/info/unicode/char/fffd/index.htm)。我已经解决了为什么这些字符最终出现在那里的问题,但也想保留旧数据。所以我想要的只是一个简单的查询,它返回包含该字符的所有文档。

到目前为止,我想到的是

db.songs.find({artist: /\ufffd/});

找到所有艺术家姓名包含替换字符的歌曲。到目前为止还没有运气。

I am trying to manually fix some documents in my Mongo database which contain the Unicode replacement character (looks like a question mark, see http://www.fileformat.info/info/unicode/char/fffd/index.htm). I already fixed the issue why these characters ended up there but would like to keep the old data too. So all I want is a simple query which returns all documents containing this character.

What I came up with so far is

db.songs.find({artist: /\ufffd/});

to find all songs with an artist name containing the replacement character. No luck so far.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仲春光 2024-12-13 18:39:15

似乎它不喜欢正则表达式中的 \uXXXX 。尝试:

db.songs.find({artist: new RegExp("\ufffd")});

Seems it doesn't like \uXXXX in the regexp. Try:

db.songs.find({artist: new RegExp("\ufffd")});
场罚期间 2024-12-13 18:39:15

要为正则表达式碰撞旧线程 :D,您需要转义反斜杠,否则它将转义 u:

db.songs.find({artist: /\\ufffd/});

To bump an old thread :D for regex you need to escape the backslash otherwise it will escape the u instead:

db.songs.find({artist: /\\ufffd/});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文