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

MongoDB $ groupを使用して値のリストを取得しますか?


値のリストを取得するには、$push演算子とともに$group集計を使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.groupByDemo.insertOne({"UserName":"John","Subject":"MongoDB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69f0457806ebf1256f136")
}
> db.groupByDemo.insertOne({"UserName":"Larry","Subject":"MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69f0657806ebf1256f137")
}
> db.groupByDemo.insertOne({"UserName":"John","Subject":"Java"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69f0d57806ebf1256f138")
}
> db.groupByDemo.insertOne({"UserName":"John","Subject":"C"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69f1357806ebf1256f139")
}
> db.groupByDemo.insertOne({"UserName":"Larry","Subject":"SQL Server"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd69f1c57806ebf1256f13a")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.groupByDemo.find().pretty();

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

{
   "_id" : ObjectId("5cd69f0457806ebf1256f136"),
   "UserName" : "John",
   "Subject" : "MongoDB"
}
{
   "_id" : ObjectId("5cd69f0657806ebf1256f137"),
   "UserName" : "Larry",
   "Subject" : "MySQL"
}
{
   "_id" : ObjectId("5cd69f0d57806ebf1256f138"),
   "UserName" : "John",
   "Subject" : "Java"
}
{
   "_id" : ObjectId("5cd69f1357806ebf1256f139"),
   "UserName" : "John",
   "Subject" : "C"
}
{
   "_id" : ObjectId("5cd69f1c57806ebf1256f13a"),
   "UserName" : "Larry",
   "Subject" : "SQL Server"
}

以下は、$groupと$push-

を使用して値のリストを取得するためのクエリです。
> db.groupByDemo.aggregate({$group: { '_id': '$UserName', 'Subject': { $push: '$Subject'}}});

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

{ "_id" : "Larry", "Subject" : [ "MySQL", "SQL Server" ] }
{ "_id" : "John", "Subject" : [ "MongoDB", "Java", "C" ] }

  1. 別のリストの値を使用してリストをマスクするPythonプログラム

    別のリストの値を使用してリストをマスクする必要がある場合は、リスト内包表記が使用されます。 例 以下は同じもののデモンストレーションです my_list = [5, 6, 1, 9, 11, 0, 4] print("The list is :") print(my_list) search_list = [2, 10, 6, 3, 9] result = [1 if element in search_list else 0 for element in my_list] print("The result is :") print(resu

  2. Python | 2番目のリストを使用して最初のリストの値を並べ替えます

    2番目のリストを使用して最初のリストの値を並べ替える必要がある場合は、「sorted」メソッドと「zip」メソッドが使用されます。 リストを使用して、異種の値(つまり、整数、浮動小数点、文字列などの任意のデータ型のデータ)を格納できます。 「sorted」メソッドは、リストの要素を並べ替えるために使用されます。 zipメソッドは反復可能オブジェクトを取得し、それらをタプルに集約して、結果として返します。 以下は同じのデモンストレーションです- 例 def list_sort(my_list_1, my_list_2):    zipped_list_pairs =