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

さまざまなプロパティの値をMongoDBアグリゲーションを使用して単一の配列に結合します


価値観を合体させるということは、それらを統合することを意味します。それらを単一の配列にマージするには、MongoDBの$projectを使用します。

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

> db.demo244.insertOne({"Value1":10,"Value2":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4582e31627c0c63e7dba63")
}
> db.demo244.insertOne({"Value1":20,"Value2":30});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4582f11627c0c63e7dba64")
}

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

> db.demo244.find();

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

{ "_id" : ObjectId("5e4582e31627c0c63e7dba63"), "Value1" : 10, "Value2" : 20 }
{ "_id" : ObjectId("5e4582f11627c0c63e7dba64"), "Value1" : 20, "Value2" : 30 }

以下は、MongoDBアグリゲーションを使用してさまざまなプロパティの値を単一の配列に結合するためのクエリです-

> db.demo244.aggregate([
...
...   { "$group": {
...      "_id": null,
...      "v1": { "$addToSet": "$Value1" },
...      "v2": { "$addToSet": "$Value2" }
...   }},
...
...   { "$project": {
...      "AllValues": { "$setUnion": [ "$v1", "$v2" ] }
...   }}
...]);

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

{ "_id" : null, "AllValues" : [ 10, 20, 30 ] }

  1. 異なるドキュメント内の同様のIDを持つ要素のMongoDB集約?

    このようなドキュメントのグループ化には、MongoDBaggregate()で$groupを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo602.insertOne({id:1,Name:"Chris"});{    "acknowledged" : true, "insertedId" : ObjectId("5e960080ed011c280a0905c9") } > db.demo602.insertOne({id:2,Name:"

  2. MySQLを使用して、さまざまな行から単一のフィールドにリストを返します

    これには、GROUP_CONCAT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2024    -> (    -> SubjectName varchar(20),    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert in