Mongo反向正则表达式

3

在SQL中,可以运行类似于以下查询:

SELECT result FROM table WHERE 'abc-def-ghi' LIKE col1

在这样的桌子上:
col1      | result
abc-%     | 1
abc-d%    | 2
as%       | 3
...       | ...

问题:如何在mongodb中实现相同的效果?我可以运行正则表达式来匹配字段,但是否有一种方法可以根据提供的数据匹配字段呢?

并获得1和2的结果集。


2
MongoDB目前没有该功能。 - Barrie
我担心那可能是这种情况。太糟糕了。 - karka91
2个回答

1
您可以使用$where操作符,例如:

$ where操作符,例如:

db.col.find({$where: "\"abc\".match(this.col1)"})

尽管 MongoDB 文档不建议使用 $where,但据我所知,这是唯一的可能性。
(这个问题可能是一个重复的问题。请参见 MongoDB 反向正则表达式

顺便提一下,在MongoDB JIRA上已经开了一个关于这个改进的票 https://jira.mongodb.org/browse/SERVER-13902 - fgalan

-3
db.stuff.find( { col1 : /supplied_data/ }, { result : 1 } );

仅返回结果字段。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接