Docs Menu
Docs Home
/ / /
Node.js ドライバー

MongoDB Search クエリの実行

このガイドでは、 Node.jsドライバーを使用してコレクションに対して MongoDB Search クエリを実行する方法を学習できます。 MongoDB Search を使用すると、 MongoDB Atlasでホストされているコレクションに対して全文検索を実行できます。 MongoDB Search インデックスは、検索の動作とインデックスするフィールド を指定します。

このガイドの例では、Atlas サンプル データセットsample_mflix データベースの movies コレクションを使用します。MongoDB Atlas クラスターを作成し、サンプル データセットをロードする方法については、「Atlas スタートガイド」をご覧ください。

このセクションでは、コレクションに対してMongoDB Search クエリを実行するための集計パイプラインを作成する方法について説明します。パイプラインステージの配列に、検索条件を指定するために $search ステージを追加します。次に、aggregate() メソッドを呼び出し、パイプライン配列をパラメーターとして渡します。

Tip

集計操作の詳細については、 集計操作ガイドを参照してください。

MongoDB Search クエリを実行中前に、コレクションにMongoDB Searchインデックスを作成する必要があります。 MongoDB Searchインデックスをプログラムで作成する方法については、 インデックスガイドの「 MongoDB Search とMongoDB ベクトル検索インデックス 」のセクションを参照してください。

この例では、次のアクションを実行して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 」を参照してください。

aggregate() メソッドの詳細については、API ドキュメントをご覧ください。

戻る

データベースコマンドの実行

項目一覧