10

例如,如果我的关键字是“all”,我希望 MongoDb 返回给定字段中包含“all”字样的所有文档,例如“edgar allan poe”或“whitney hall”。我如何在 MongoDb 中做到这一点?我已经被困在这里好几天了,所以任何帮助将不胜感激:)

4

1 回答 1

17

通过使用正则表达式。MongoDb 有一个$regex运算符。

db.authors.find({name: {$regex: 'all', $options: 'i'}});

正则表达式操作不能使用索引,因此 find() 操作效率不高。索引只能用于前缀(以开头)和区分大小写的匹配,如下查询:

db.authors.find({name: {$regex: '^a'});
于 2013-06-28T04:33:31.473 回答