বিভিন্ন সংগ্রহের উপাদানে অনন্য বৈশিষ্ট্যের যোগফল গণনা করতে, $group-এর সাথে $cond ব্যবহার করুন। এটি ফলস্বরূপ মূল্য দেয়৷
আসুন নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo580.insertOne(
... {
... "Name":"John",
... "Id1":"110",
... "Id2":"111",
... "Price":10.5
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e918cebfd2d90c177b5bcae")
}
>
> db.demo580.insertOne(
... {
... "Name":"John",
... "Id1":"111",
... "Id2":"",
... "Price":9.5
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e918cecfd2d90c177b5bcaf")
} Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo580.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e918cebfd2d90c177b5bcae"), "Name" : "John", "Id1" : "110", "Id2" : "111", "Price" : 10.5 }
{ "_id" : ObjectId("5e918cecfd2d90c177b5bcaf"), "Name" : "John", "Id1" : "111", "Id2" : "", "Price" : 9.5 } বিভিন্ন সংগ্রহ উপাদান -
-এ অনন্য বৈশিষ্ট্য যোগ করার জন্য নিম্নোক্ত প্রশ্নটি রয়েছে> db.demo580.aggregate([
... {
... $project: {
... Id1: 1,
... Id2: 1,
... Price: 1,
... match: {
... $cond: [
... {$eq: ["$Id2", ""]},
... "$Id1",
... "$Id2"
... ]
... }
... }
... },
... {
... $group: {
... _id: '$match',
... Price: {$sum: '$Price'},
... resultId: {
... $addToSet: {
... $cond: [
... {$eq: ['$match', '$Id1']},
... null,
... '$Id1'
... ]
... }
... }
... }
... },
... {$unwind: '$resultId'},
... {$match: {
... resultId: {
... $ne: null
... }
... }
... },
... {
... $project: {
... Id1: '$resultId',
... Price: 1,
... _id: 0
... }
... }
... ]) এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "Price" : 20, "Id1" : "110" }