たとえば、私のキーワードが「all」の場合、「edgar allan poe」や「whitney hall」などの「all」という単語を含む指定されたフィールドのすべてのドキュメントを MongoDb に返してもらいたいと思います。MongoDbでそれを行うにはどうすればよいですか? 私はここで何日も立ち往生しているので、どんな助けも大歓迎です:)
17756 次
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 に答える