如何使用通配符对Mongodb进行search?

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

Solutions Collecting From Web of "如何使用通配符对Mongodb进行search?"

通过使用正则expression式。 MongoDb有一个$ regex操作符。

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

正则expression式操作不能使用索引,所以find()操作效率不高。 一个索引只能用于前缀(开头)和区分大小写的匹配,比如这个查询:

 db.authors.find({name: {$regex: '^a'});