Overview
このガイドでは、 Node.jsドライバーを使用してコレクションに対して MongoDB Search クエリを実行する方法を学習できます。 MongoDB Search を使用すると、 MongoDB Atlasでホストされているコレクションに対して全文検索を実行できます。 MongoDB Search インデックスは、検索の動作とインデックスするフィールド を指定します。
サンプル データ
このガイドの例では、Atlas サンプル データセットの sample_mflix
データベースの movies
コレクションを使用します。MongoDB Atlas クラスターを作成し、サンプル データセットをロードする方法については、「Atlas スタートガイド」をご覧ください。
MongoDB Search クエリの実行
このセクションでは、コレクションに対してMongoDB Search クエリを実行するための集計パイプラインを作成する方法について説明します。パイプラインステージの配列に、検索条件を指定するために $search
ステージを追加します。次に、aggregate()
メソッドを呼び出し、パイプライン配列をパラメーターとして渡します。
Tip
集計操作の詳細については、 集計操作ガイドを参照してください。
MongoDB Search クエリを実行中前に、コレクションにMongoDB Searchインデックスを作成する必要があります。 MongoDB Searchインデックスをプログラムで作成する方法については、 インデックスガイドの「 MongoDB Search とMongoDB ベクトル検索インデックス 」のセクションを参照してください。
MongoDB Search の例
この例では、次のアクションを実行してMongoDB Search クエリを実行します。
ドライバーに指示する
$search
ステージを作成し、title
フィールドに"Alabama"
という単語が含まれるドキュメントを検索します。クエリ結果に
title
フィールドを含めるようにドライバーに指示する$project
ステージを作成しますパイプラインのステージを
aggregate()
メソッドに渡し、結果を出力します。
const pipeline = [ { $search: { index: "default", // Replace with your search index name text: { query: "Alabama", path: "title" } } }, { $project: { title: 1 } } ]; const cursor = collection.aggregate(pipeline); for await (const document of cursor) { console.log(document); }
{ _id: new ObjectId('...'), title: 'Alabama Moon' } { _id: new ObjectId('...'), title: 'Crazy in Alabama' } { _id: new ObjectId('...'), title: 'Sweet Home Alabama' }
Tip
Node.jsドライバーMongoDB Search の例
Node.jsドライバーを使用して Atlas Search クエリを実行するその他の例については、Atlas ドキュメントの「 MongoDB Search チュートリアル 」を参照してください。
詳細情報
MongoDB Search の詳細については、Atlas ドキュメントの「 MongoDB Search 」を参照してください。
API ドキュメント
aggregate()
メソッドの詳細については、API ドキュメントをご覧ください。