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

2つのフィールドによるMongoDBの順序の合計は?


2つのフィールドの合計で並べ替えるには、集計フレームワークを使用できます。まず、ドキュメントを使用してコレクションを作成しましょう

> db.orderByTwoFieldsDemo.insertOne({"Value1":10,"Value2":35});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca285576304881c5ce84baa")
}
> db.orderByTwoFieldsDemo.insertOne({"Value1":12,"Value2":5});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca2855f6304881c5ce84bab")
}
> db.orderByTwoFieldsDemo.insertOne({"Value1":55,"Value2":65});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca285686304881c5ce84bac")
}

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

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

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

{
   "_id" : ObjectId("5ca285576304881c5ce84baa"),
   "Value1" : 10,
   "Value2" : 35
}
{
   "_id" : ObjectId("5ca2855f6304881c5ce84bab"),
   "Value1" : 12,
   "Value2" : 5
}
{
   "_id" : ObjectId("5ca285686304881c5ce84bac"),
   "Value1" : 55,
   "Value2" : 65
}

ケース1 :以下は、2つのフィールドの合計で並べ替えて、昇順で結果を取得するためのクエリです:

> db.orderByTwoFieldsDemo.aggregate(
... [
... {$project:{Value1:1, Value2:1, orderBySumValue:{$add: ["$Value1", "$Value2"]}}},
... {$sort:{orderBySumValue:1}}]
... );

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

{ "_id" : ObjectId("5ca2855f6304881c5ce84bab"), "Value1" : 12, "Value2" : 5,
"orderBySumValue" : 17 }
{ "_id" : ObjectId("5ca285576304881c5ce84baa"), "Value1" : 10, "Value2" : 35,
"orderBySumValue" : 45 }
{ "_id" : ObjectId("5ca285686304881c5ce84bac"), "Value1" : 55, "Value2" : 65,
"orderBySumValue" : 120 }

ケース2 :以下は、2つのフィールドの合計で並べ替えて、降順で結果を取得するためのクエリです

> db.orderByTwoFieldsDemo.aggregate( [ {$project:{Value1:1, Value2:1,
orderBySumValue:{$add: ["$Value1", "$Value2"]}}}, {$sort:{orderBySumValue:-1}}] );

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

{ "_id" : ObjectId("5ca285686304881c5ce84bac"), "Value1" : 55, "Value2" : 65,
"orderBySumValue" : 120 }
{ "_id" : ObjectId("5ca285576304881c5ce84baa"), "Value1" : 10, "Value2" : 35,
"orderBySumValue" : 45 }
{ "_id" : ObjectId("5ca2855f6304881c5ce84bab"), "Value1" : 12, "Value2" : 5,
"orderBySumValue" : 17 }

  1. MongoDBからフィールドのサブセットを取得する

    フィールドのサブセットを再試行するには、find()でドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo307.insertOne({ ...   "CleintId":101, ...   "ClientDetails":{"ClientFirstName":"Chris","Age":34}, ...   "ClientCountryName":"US" ...} ...

  2. 選択したフィールドを更新するためのMongoDBクエリ

    選択したフィールドを更新するには、MongoDBでUPDATE()を使用します。 $ setは、新しい値を設定するために使用されます。ドキュメントを使用してコレクションを作成しましょう- > db.demo352.insertOne({"Name":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e55510af8647eb59e5620ba") } > d