ホームページ > ウェブフロントエンド > jsチュートリアル > js を使用して MongoDB にファジー クエリを実装する方法のチュートリアル

js を使用して MongoDB にファジー クエリを実装する方法のチュートリアル

零下一度
リリース: 2018-05-25 09:20:24
オリジナル
4806 人が閲覧しました

ファジークエリはデータベースの基本的な操作の1つであり、次の記事では主にNode.jsを使用してMongoDBデータベースにファジークエリを実装する方法のチュートリアルを紹介します。それは誰にとっても一定の参考価値がありますので、必要な友人は以下を参照してください。

はじめに

ファジークエリはデータベースの基本操作の 1 つで、指定された string が指定されたパターンと一致するかどうかを確認します。文字が完全に一致する場合は=等号で表現でき、部分的に一致する場合はあいまいクエリとみなします。リレーショナル データでは、SQL 経由で「%fens%」のような構文を使用します。では、mongodb でファジークエリの効果を実現するにはどうすればよいでしょうか。

ディレクトリ

  • mongodbファジークエリ

  • mongooseによるnodejsファジークエリ

1.

mongodb を開き、名前のテキスト フィールドでテストします。

正確なクエリ

{'name':'Future Police'} の場合、レコードは正確に一致します。

db.movies.find({'name':'未来警察'})
ログイン後にコピー

あいまいクエリ

{'name':/future/}、複数のレコードと一致します。

db.movies.find({'name':/未来/})
ログイン後にコピー

MongoDB のファジー クエリは、実際には通常のクエリの一種です。


注: リレーショナル データでは、ファジー クエリのような別のキーワードがあります。like を使用しない場合は、リレーショナル データで通常のクエリを使用することもできます。 Mongodb公式紹介:docs.mongodb.org/manual/reference/operator/Regex/

mongoose を使用してファジー クエリを実行する方法について話しましょう。

mongoose を使用して mongodb にアクセスする方法については、「Mongoose を使用して

JSON

data または update を MongoDB に直接挿入する」の記事で説明されています。 ムービーをモデル化し、dao レイヤーを構築します。


すべての映画をクエリ

db.collection.find( { field: /acme.*corp/i } );
db.collection.find( { field: { $regex: 'acme.*corp', $options: 'i' } } );
ログイン後にコピー
クエリ

オブジェクト

を渡すことで、クエリを実行できます。 次に、クエリオブジェクトを構築します

MovieDAO.prototype.findByName = function(query, callback) {
 Movie.findOne(query, function(err, obj){
 callback(err, obj);
 });
};
ログイン後にコピー

注意してください: 今、MongoDBのファジークエリが

正規表現

を介して実装されていることを分析しました。mongodbに対応して、'/../'スラッシュを直接使用できます。 。

しかし、nodejs では、正規表現オブジェクトを構築するために RegExp を使用する必要があります。

以上がjs を使用して MongoDB にファジー クエリを実装する方法のチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート