在SQL中,可以运行类似于
的查询SELECT result FROM table WHERE 'abc-def-ghi' LIKE col1
在这样的桌子上:
col1 | result
abc-% | 1
abc-d% | 2
as% | 3
... | ...
并获得1和2的结果集。
问题:如何在mongodb中实现相同的效果? 我可以运行正则表达式来匹配字段,但有没有一种方法可以使字段再次匹配提供的数据?
答案 0 :(得分:0)
您可以使用$ where运算符,例如:
db.col.find({$where: "\"abc\".match(this.col1)"})
虽然MongoDB文档不建议使用$ where,但据我所知,这是唯一的可能性。
(这个问题可能重复。请参阅MongoDB reverse regex)
答案 1 :(得分:-3)
db.stuff.find( { col1 : /supplied_data/ }, { result : 1 } );
仅返回结果字段。