Docs Menu
Docs Home
/
ガイドを利用する

複合 演算子によるクエリ

このガイドでは、集計パイプラインを使用して、複合クエリで複数の検索演算子を使用する方法を学習します。

所要時間: 5 分

  • MongoDB アカウント。 「 MongoDB アカウントのサインアップ 」を参照してください。

  • Atlas クラスター。 「クラスターの作成 」を参照してください。

  • クラスターにロードされたサンプル データセット。

  • デフォルト設定と 動的インデックス を持つ検索インデックス。 デフォルトの動的インデックスを作成するには、「 動的インデックスの構築 」を参照してください。

1
  1. まだ表示されていない場合は、目的のプロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューから目的のプロジェクトを選択します。

  3. Clusters ページがまだ表示されていない場合は、サイドバーの Database をクリックします。

    [ クラスター]ページが表示されます。

2
sample-data-cluster
クリックして拡大します
3

[Collections] タブをクリックします。

sample-data-tab
クリックして拡大します
4

sample_suppliesデータベースをクリックし、 salesコレクションをクリックします。

5
1

[Aggregation] タブをクリックします。

2

集計パイプラインの作成を開始するには、 + Add Stageをクリックします。

3

ステージ ウィンドウで、 Selectというラベルの付いたドロップダウン メニューをクリックし、 $searchステージを選択します。

4

プレースホルダー コードを次のクエリで置き換えます。

{
"compound": {
"filter": [{
"text": {
"query": "Online",
"path": "purchaseMethod"
}
}],
"should": [{
"text": {
"query": "notepad",
"path": "items"
}
}]
}
}

このクエリでは、 compound演算子を次のように使用します。

  • filter句は、 purchaseMethodOnlineのドキュメントのみを返します。

  • を含むitemsフィールドを持つドキュメントを返すshould句は、 notepadを含まないドキュメントよりもスコアが高いドキュメントを返します。

5

右側のペインでは、結果には次のサンプル ドキュメントのようなドキュメントのリストが含まれます。

items: Array
0: Object
1: Object
2: Object
name: "notepad"
...
storeLocation: "Denver"
customer: Object
couponUsed: false
purchaseMethod: "Online"
_id: ObjectID('5bd761dcae323e45a93cd06e')
saleDate: 2013-11-22T18:49:45.212+00:00

注意

返されるすべてのドキュメントでフィールドは必ずしも同じ順序で表示されるわけではありません。

ArrayフィールドとObjectフィールドをクリックすると、展開して内容を表示できます。

このガイドの手順を正常に完了すると、 複合 演算子を使用して Atlas Search 集計ステージが作成され、 演算子のさまざまな句が複数の軸で検索結果を絞り込むためにどのように相互作用するのかがわかります。 次のガイドでは、 ファセット を使用して検索結果をグループ化する方法を学習します。

次のステップ
ファセットによるクエリ
10分

特定の値のカウントを含む MongoDB 内のドキュメントを検索します。

スタート ガイド
第 3 章
Atlas Search
  • 動的インデックスの構築
  • 静的フィールドマッピングによるインデックスの構築
  • 複合 演算子によるクエリ
  • ファセットによるクエリ