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

MongoDBアグリゲーションで配列の要素のサブセットを一緒に追加するにはどうすればよいですか?


配列の要素のサブセットを追加するには、$firstと$sumを一緒に使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo610.insertOne({Values:[10,20,30,40,50]});{
   "acknowledged" : true, "insertedId" : ObjectId("5e9747b8f57d0dc0b182d62e")
}

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

> db.demo610.find().pretty()

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

{
   "_id" : ObjectId("5e9747b8f57d0dc0b182d62e"),
   "Values" : [
      10,
      20,
      30,
      40,
      50
   ]
}

これは、MongoDBアグリゲーションの配列の要素のサブセットを一緒に追加するためのクエリです-

> db.demo610.aggregate([
...    {$unwind:"$Values"},
...    {$group:{"_id":"$_id",
...       "1st":{$first:"$Values"},
...       "All":{$sum:"$Values"}}},
...    {$project:{"_id":"$_id",
...       "SumOfAllMinus1":{$subtract:["$All","$1st"]}}},
...    {$group:{"_id":null,
...       "SumOfAllExcept1stValue":{$sum:"$SumOfAllMinus1"}}}
... ])

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

{ "_id" : null, "SumOfAllExcept1stValue" : 140 }

  1. 配列要素をMongoDBアグリゲーションの最大値と一致させてグループ化する方法は?

    このために、MongoDBで$maxと一緒に$groupを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo510.insertOne( ... { ...    details:[ ...       { ...          Name:"Chris", ...          Score:56 ...       }, ...   &nb

  2. C#で既存のジャグ配列にアイテム/要素を追加するにはどうすればよいですか?

    既存のジャグ配列に要素を追加するには、要素の値を新しい値に設定するだけです。 次の場所に要素を追加する必要があるとします- a[3][1] 値を設定するだけです- a[3][1] = 500; 上記では、ジャグ配列の3番目の配列の最初の要素にアクセスしました。 完全なコードを見てみましょう- 例 using System; namespace Demo {    class Program {       static void Main(string[] args) {         &n