Docs Menu

Docs HomeGo

Retrieve Distinct Values

項目一覧

  • Overview
  • サンプル データ
  • distinct
  • 動作の変更
  • 詳細情報
  • API ドキュメント

このガイドでは、単一のコレクション全体で指定されたフィールドの個別の値を取得する方法を学習できます。

このガイドの例を実行するには、次のスニペットを使用してサンプルデータを tea.ratingsコレクションにロードします。

coll := client.Database("tea").Collection("ratings")
docs := []interface{}{
bson.D{{"type", "Masala"}, {"rating", 10}},
bson.D{{"type", "Matcha"}, {"rating", 7}},
bson.D{{"type", "Masala"}, {"rating", 4}},
bson.D{{"type", "Oolong"}, {"rating", 9}},
bson.D{{"type", "Matcha"}, {"rating", 5}},
bson.D{{"type", "Earl Grey"}, {"rating", 8}},
bson.D{{"type", "Oolong"}, {"rating", 3}},
bson.D{{"type", "Matcha"}, {"rating", 6}},
bson.D{{"type", "Earl Grey"}, {"rating", 4}},
}
result, err := coll.InsertMany(context.TODO(), docs)
if err != nil {
panic(err)
}
fmt.Printf("Number of documents inserted: %d\n", len(result.InsertedIDs))

Tip

存在しないデータベースとコレクション

書き込み操作を実行するときに必要なデータベースとコレクションが存在しない場合は、サーバーが暗黙的にそれらを作成します。

各ドキュメントには、 フィールドとtype ratingフィールドに対応するお茶の種類の評価が含まれています。

単一のコレクション全体で指定されたフィールドの個別の値を検索するには、次のパラメータをDistinct()メソッドに渡します。

  • 個別の値が必要なフィールド名

  • 一致するドキュメントを指定するnon-nilクエリフィルター

Tip

空のクエリフィルターを指定すると、メソッドはコレクション内のすべてのドキュメントを照合します。

DistinctOptionsを渡すことで、 Distinct()メソッドの動作を変更できます。 DistinctOptionsを指定しない場合、ドライバーは各オプションのデフォルト値を使用します。

DistinctOptions タイプでは、次の方法でオプションを設定できます。

方式
説明
SetCollation()
The type of language collation to use when sorting results.
Default: nil
SetMaxTime()
The maximum amount of time that the query can run on the server.
Default: nil

次の例ではすべてのドキュメントを照合し、 Distinct()メソッドを使用してtypeフィールドの個別の値を出力します。

results, err := coll.Distinct(context.TODO(), "type", bson.D{})
if err != nil {
panic(err)
}
for _, result := range results {
fmt.Println(result)
}

個別の値を取得する実行可能な例については、「フィールドの個別の値を取得する 」を参照してください。

クエリフィルターの作成の詳細については、「クエリの指定 」を参照してください。

このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。

←  カーソルからデータにアクセスする結果を並べ替える →
フィードバックを送る
© 2022 MongoDB, Inc.

会社概要

© 2022 MongoDB, Inc.