3

在 SQL 中,可以运行类似于

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

在这样的桌子上:

col1      | result
abc-%     | 1
abc-d%    | 2
as%       | 3
...       | ...

并得到一个包含 1 和 2 的结果集。

问题:如何在 mongodb 中达到相同的效果?我可以运行正则表达式来匹配字段,但是有没有办法可以将字段与提供的数据匹配?

4

2 回答 2

1

您可以使用 $where 运算符,例如:

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

尽管 MongoDB 文档不建议使用 $where,但据我所知,这是唯一的可能性。

(这个问题可能是重复的。参见MongoDB reverse regex

于 2014-05-11T19:17:11.233 回答
-3
db.stuff.find( { col1 : /supplied_data/ }, { result : 1 } );

将仅返回结果字段。

于 2012-06-12T14:49:16.387 回答