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

既存のマルチ配列フィールドでの$projectのMongoDB$concatArraysの操作


$ concatArraysは、配列を連結して、連結された配列を返すために使用されます。

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

> db.demo338.insertOne({"Name":"Chris","Marks1":[ [56,67,45],[67,89,90,91]]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5299baf8647eb59e56209f")
}

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

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

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

{
   "_id" : ObjectId("5e5299baf8647eb59e56209f"),
   "Name" : "Chris",
   "Marks1" : [
      [
         56,
         67,
         45
      ],
      [
         67,
         89,
         90,
         91
      ]
   ]
}
>

以下は、既存のマルチ配列フィールドを処理し、配列を連結するためのクエリです-

> db.demo338.aggregate([
...    { "$project": {
...       "Marks": {
...          "$reduce": {
...          "input": "$Marks1",
...          "initialValue": [],
...          "in": { "$concatArrays": ["$$this", "$$value"] }
...       }
...    }
... }}
... ])

これにより、次の出力が生成されます&マイナス'

{ "_id" : ObjectId("5e5299baf8647eb59e56209f"), "Marks" : [ 67, 89, 90, 91, 56, 67, 45 ] }

  1. Aggregationを使用して、MongoDBのすべての値を照合します

    MongoDBのすべての値を一致させるには、Aggregationで$andとともに$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo574.insertOne( ...    { ...       "details1": { ...          "details2": { ...             "dueDate&q

  2. 既存のMongoDBドキュメントに特定のデータ型(リスト、オブジェクト)のフィールドを追加するにはどうすればよいですか?

    $setを使用できます。ドキュメントを使用してコレクションを作成しましょう- > db.demo732.insertOne({_id:1,Language:"English"}); { "acknowledged" : true, "insertedId" : 1 } > db.demo732.insertOne({_id:2,Language:"Hindi"}); { "acknowledged" : true, "insertedId" : 2 } find