ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo636.insert({id:1}); WriteResult({ "nInserted" : 1 }) > db.demo636.insert({id:2}); WriteResult({ "nInserted" : 1 }) > db.demo636.insert({id:3}); WriteResult({ "nInserted" : 1 }) > db.demo636.insert({id:4}); WriteResult({ "nInserted" : 1 }) > db.demo636.insert({id:5}); WriteResult({ "nInserted" : 1 }) > db.demo636.insert({id:6}); WriteResult({ "nInserted" : 1 })
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo636.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e9c127b6c954c74be91e6d2"), "id" : 1 } { "_id" : ObjectId("5e9c127e6c954c74be91e6d3"), "id" : 2 } { "_id" : ObjectId("5e9c127f6c954c74be91e6d4"), "id" : 3 } { "_id" : ObjectId("5e9c12816c954c74be91e6d5"), "id" : 4 } { "_id" : ObjectId("5e9c12836c954c74be91e6d6"), "id" : 5 } { "_id" : ObjectId("5e9c12896c954c74be91e6d7"), "id" : 6 }
ต่อไปนี้เป็นแบบสอบถามเพื่อใช้ mapReduce() และแสดงเฉพาะค่าคู่ -
> db.demo636.mapReduce( ... function () { ... oddCounter++; ... var id= this._id; ... delete this._id; ... if ( oddCounter % d != 0 ) ... emit(id, this ); ... }, ... function() {}, ... { ... "scope": { "oddCounter": 0, "d": 2 }, ... "out": { "inline": 1 } ... } ... )
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "results" : [ { "_id" : ObjectId("5e9c127b6c954c74be91e6d2"), "value" : { "id" : 1 } }, { "_id" : ObjectId("5e9c127f6c954c74be91e6d4"), "value" : { "id" : 3 } }, { "_id" : ObjectId("5e9c12836c954c74be91e6d6"), "value" : { "id" : 5 } } ], "timeMillis" : 29, "counts" : { "input" : 6, "emit" : 3, "reduce" : 0, "output" : 3 }, "ok" : 1 }