MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBコレクションから一意の値を取得するにはどうすればよいですか?


一意の値を取得して重複を無視するには、MongoDBでdistinct()を使用します。個別の()は、単一のコレクション全体で指定されたフィールドの個別の値を検索し、結果を配列で返します。

ドキュメントを使用してコレクションを作成しましょう-

> db.demo704.insertOne({"LanguageCode":"hi"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee18551299a9f98c93bd")
}
> db.demo704.insertOne({"LanguageCode":"en"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee1e551299a9f98c93be")
}
> db.demo704.insertOne({"LanguageCode":"hi"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee20551299a9f98c93bf")
}
> db.demo704.insertOne({"LanguageCode":"eo"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee2c551299a9f98c93c0")
}
> db.demo704.insertOne({"LanguageCode":"eu"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee2f551299a9f98c93c1")
}
> db.demo704.insertOne({"LanguageCode":"fo"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee35551299a9f98c93c2")
}
> db.demo704.insertOne({"LanguageCode":"fo"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6ee37551299a9f98c93c3")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo704.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5ea6ee18551299a9f98c93bd"), "LanguageCode" : "hi" }
{ "_id" : ObjectId("5ea6ee1e551299a9f98c93be"), "LanguageCode" : "en" }
{ "_id" : ObjectId("5ea6ee20551299a9f98c93bf"), "LanguageCode" : "hi" }
{ "_id" : ObjectId("5ea6ee2c551299a9f98c93c0"), "LanguageCode" : "eo" }
{ "_id" : ObjectId("5ea6ee2f551299a9f98c93c1"), "LanguageCode" : "eu" }
{ "_id" : ObjectId("5ea6ee35551299a9f98c93c2"), "LanguageCode" : "fo" }
{ "_id" : ObjectId("5ea6ee37551299a9f98c93c3"), "LanguageCode" : "fo" }

以下は、一意の値を取得して結果を配列に表示するためのクエリです-

> db.demo704.distinct("LanguageCode");

これにより、次の出力が生成されます-

[ "hi", "en", "eo", "eu", "fo" ]

  1. MongoDBコレクションから重複を削除するにはどうすればよいですか?

    このために、「 unique:true」を設定します 」つまり、一意の制約を使用し、次の構文のように重複を挿入しないようにします- db.yourCollectionName.ensureIndex({yourFieldName: 1}, {unique: true, dropDups: true}) 上記の構文を理解するために、ドキュメントを使用してコレクションを作成しましょう。ここでは、重複挿入は許可されません- > db.demo604.ensureIndex({FirstName: 1}, {unique: true, dropDups: true});{   &nb

  2. Pythonのリストから一意の値を取得する

    Pythonのリストは、[]に配置されたアイテムの数であり、同じデータ型を持つ場合と持たない場合があります。重複を含めることもできます。この記事では、リストから一意の値のみを抽出する方法を説明します。 append()を使用 このアプローチでは、最初に新しい空のリストを作成し、次にこの新しいリストに要素がまだ存在しない場合にのみ、この新しいリストに要素を追加し続けます。 forループは、notinconditionとともに使用されます。着信要素の存在をチェックし、まだ存在していない場合にのみ追加されます。 例 def catch_unique(list_in):