MongoDBサブドキュメントフィールドを合計しますか?
これには集約フレームワークを使用できます。まず、ドキュメントを使用してコレクションを作成しましょう-
> db.summingSubDocumentDemo.insertOne( ... { "_id" :101, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 2000 } } }); { "acknowledged" : true, "insertedId" : 101 } > db.summingSubDocumentDemo.insertOne( { "_id" :102, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 3000 } } }); { "acknowledged" : true, "insertedId" : 102 } > db.summingSubDocumentDemo.insertOne( { "_id" :103, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 5000 } } }); { "acknowledged" : true, "insertedId" : 103 }>
以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.summingSubDocumentDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : 101, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 2000 } } } { "_id" : 102, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 3000 } } } { "_id" : 103, "CustomerDetails" : { "CustomerPurchase" : { "CustomerPurchaseAmount" : 5000 } } }
MongoDBサブドキュメントフィールドを合計するクエリは次のとおりです-
> db.summingSubDocumentDemo.aggregate({$group : {_id: "", ... totalAmount : {$sum: "$CustomerDetails.CustomerPurchase.CustomerPurchaseAmount"}}}, ... {$project: {_id: 0, totalAmount: 1}});
これにより、次の出力が生成されます-
{ "totalAmount" : 10000 }
-
MongoDBのプロジェクトフィールド
MongoDBでフィールドをプロジェクトするには、$projectを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo439.insertOne( ... { ... "Name" : "Chris", ... "MarksInformation" : { ... "Marks1" : 67, ...
-
MongoDBのidフィールドを非表示
ドキュメントを使用してコレクションを作成しましょう- > db.demo575.insertOne({id:101,Information:{Name:"Chris",Age:21}});{ "acknowledged" : true, "insertedId" : ObjectId("5e916a55581e9acd78b427f7") } > db.demo575.insertOne({id:102,Information:{Name:"David",A