在匹配条件之前忽略特殊字符

时间:2014-06-30 09:26:53

标签: mongodb

如何在mongo中写下以下内容?在检查条件之前,我需要忽略特定列中的某些字符(空格,连字符)。为了举一个mysql的例子,我只是删除空间。

select * from TABLE
where REPLACE('name', ' ', '') = 'TEST'

因此,如果name列的“T E S T”应匹配。

1 个答案:

答案 0 :(得分:5)

您可以在查询中尝试使用$where运算符:

{$where: "this.name.replace(/[ -]/g,'') == 'TEST'"}

或:

{$where: "this.name.match(/T[ -]*E[ -]*S[ -]*T/)"}

或直接$regex

{name: /T[ -]*E[ -]*S[ -]*T/}

有关$where $regex运营商的详细信息。