Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

mapReduce() 함수를 사용하여 대체 문서를 표시하고 짝수 필드 값을 내보내는 MongoDB 쿼리

<시간/>

문서로 컬렉션을 만들자 −

> 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"5 , "ID":3 }{ "_id":ObjectId("5e9c12816c954c74be91e6d5"), "id":4 }{ "_id":ObjectId("5e9c12836c954c74be91e6d6"), "id":5 "5e9c12896c954c74be91e6d7"), "아이디" :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 } ,... "아웃":{ "인라인":1 }... }... )

이것은 다음과 같은 출력을 생성합니다 -

{ "결과":[ { "_id":ObjectId("5e9c127b6c954c74be91e6d2"), "값":{ "id":1 } }, { "_id":ObjectId("5e9c127f6c954c74be"), "value" { "id" :3 } }, { "_id" :ObjectId("5e9c12836c954c74be91e6d6"), "value" :{ "id" :5 } }],"timeMillis" :29,"counts" :{ "입력" :6, "방출":3, "감소":0, "출력":3 },"확인":1}