MongoDB-তে mapReduce() ব্যবহার করে ইনপুট এলিমেন্ট থেকে দ্বিতীয় এলিমেন্ট বের করা
ইনপুট এলিমেন্ট থেকে দ্বিতীয় এলিমেন্ট বের করতে mapReduce() ব্যবহার করুন। Map-reduce বড় ভলিউমের ডেটা থেকে উপযোগী এগريجেটেড রেজাল্ট বের করার একটি ডেটা প্রসেসিং প্যারাডাইম।
উদাহরণ: ডকুমেন্ট সহ কালেকশন তৈরি
> db.demo621.insert({ _id: 101, Name1: "John", Name2: "John" });
WriteResult({ "nInserted" : 1 })
> db.demo621.insert({ _id: 102, Name1: "Bob", Name2: "John" });
WriteResult({ "nInserted" : 1 })
> db.demo621.insert({ _id: 103, Name1: "Chris", Name2: "John" });
WriteResult({ "nInserted" : 1 })
> db.demo621.insert({ _id: 104, Name1: "Sam", Name2: "John" });
WriteResult({ "nInserted" : 1 })
সকল ডকুমেন্ট প্রদর্শন
> db.demo621.find();
আউটপুট
{ "_id" : 101, "Name1" : "John", "Name2" : "John" }
{ "_id" : 102, "Name1" : "Bob", "Name2" : "John" }
{ "_id" : 103, "Name1" : "Chris", "Name2" : "John" }
{ "_id" : 104, "Name1" : "Sam", "Name2" : "John" }
দ্বিতীয় এলিমেন্ট বের করার কুয়েরি
> db.demo621.mapReduce(
... function () {
... track++;
... var actualId= this._id;
... delete this._id;
... if ( track % div == 0 )
... emit(actualId, this );
... },
... function() {},
... {
... "scope": { "track": 0, "div": 2 },
... "out": { "inline": 1 }
... }
... )
ফলাফল
{
"results" : [
{
"_id" : 102,
"value" : {
"Name1" : "Bob",
"Name2" : "John"
}
},
{
"_id" : 104,
"value" : {
"Name1" : "Sam",
"Name2" : "John"
}
}
],
"timeMillis" : 48,
"counts" : {
"input" : 4,
"emit" : 2,
"reduce" : 0,
"output" : 2
},
"ok" : 1
}