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

計算された式を$groupにプッシュするMongoDBクエリ?


計算された式を$groupにプッシュするには、aggregateを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo24.insertOne({"Id":100,"Status":true});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c58722d07d3b95082e72")
}
> db.demo24.insertOne({"Id":100,"Status":true});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c58a22d07d3b95082e73")
}
> db.demo24.insertOne({"Id":100,"Status":false});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c58f22d07d3b95082e74")
}
> db.demo24.insertOne({"Id":100,"Status":true});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c59122d07d3b95082e75")
}
> db.demo24.insertOne({"Id":100,"Status":false});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14c59222d07d3b95082e76")
}

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

> db.demo24.find();

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

{ "_id" : ObjectId("5e14c58722d07d3b95082e72"), "Id" : 100, "Status" : true }
{ "_id" : ObjectId("5e14c58a22d07d3b95082e73"), "Id" : 100, "Status" : true }
{ "_id" : ObjectId("5e14c58f22d07d3b95082e74"), "Id" : 100, "Status" : false }
{ "_id" : ObjectId("5e14c59122d07d3b95082e75"), "Id" : 100, "Status" : true }
{ "_id" : ObjectId("5e14c59222d07d3b95082e76"), "Id" : 100, "Status" : false }

$ group内の計算された式を($ pushを使用して)プッシュするクエリは次のとおりです-

> db.demo24.aggregate({$group: {_id:'$Id', AllValues: {$push: {$cond: [{$eq: ['$Status', true]},'Active','InActive']}}}})

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

{ "_id" : 100, "AllValues" : [ "Active", "Active", "InActive", "Active", "InActive" ] }

  1. _idでグループ化するMongoDBクエリ

    MongoDBで_idでグループ化するには、$groupを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo529.insertOne({"Score":10});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b1d5bef4dcbee04fbbbe4") } > db.demo529.insertOne({"Score":20});{ &

  2. MongoDBに埋め込まれたドキュメントの配列をクエリし、別のドキュメントをプッシュしますか?

    このために、更新と一緒に$pushを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo573.insertOne( ...    { ...       '_id' :101, ...       'SearchInformation' : [ ...          { ...             'Site'