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

MongoDBの2つの配列フィールドをマージしますか?


マージするには、$setUnion演算子を使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.mergeTwoArrayFieldDemo.insertOne({"NaturalNumbers":[1,2,3,8,10,20,30],"WholeNumbers":[0,1,2,63,78,20,45]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd68e4057806ebf1256f11d")
}

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

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

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

{
   "_id" : ObjectId("5cd68e4057806ebf1256f11d"),
   "NaturalNumbers" : [
      1,
      2,
      3,
      8,
      10,
      20,
      30
   ],
   "WholeNumbers" : [
      0,
      1,
      2,
      63,
      78,
      20,
      45
   ]
}

以下は、MongoDBの2つの配列フィールドをマージするためのクエリです。

> db.mergeTwoArrayFieldDemo.aggregate([
   { "$project": {
      "MergedArray": { "$setUnion": [ "$NaturalNumbers", "$WholeNumbers" ] }
   }}
]);

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

{ "_id" : ObjectId("5cd68e4057806ebf1256f11d"), "MergedArray" : [ 0, 1, 2, 3, 8, 10, 20, 30, 45, 63, 78 ] }

  1. フィールドを結合またはマージしてからカウントするMongoDB集約?

    フィールドを結合またはマージしてからカウントを実行するには、$groupを$sumおよび$sortとともに使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo647.insertOne({"Subject":"MySQL"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e9c86316c954c74be91e6ee") } > db.dem

  2. MongoDBのサブドキュメントの配列をクエリする

    サブドキュメントの配列をクエリするには、MongoDBで$unwindを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo499.insertOne({ ... "details": ...    [ ...       { ...          Name :"MIT", ...          Rank: 1, ...