검색 쿼리 로그를 저장하는 모음이 있습니다. 두 가지 주요 속성은 user_id와 search_query입니다. 로그 아웃 된 사용자의 경우 user_id는 null입니다. 나는 사용자 당 카운트와 용어를 찾기 위해 mapreduce 작업을 실행하려고합니다.mongo mapreduce의 어설 션 예외
var map = function(){ if(this.user_id !== null){ emit(this.user_id, this.search_query); } } var reduce = function(id, queries){ return Array.sum(queries + ","); } db.searchhistories.mapReduce(map, reduce, { query: { "time" : { $gte : ISODate("2013-10-26T14:40:00.000Z"), $lt : ISODate("2013-10-26T14:45:00.000Z") } }, out : "mr2" } )
는 다음과 같은 예외
Wed Nov 27 06:00:07 uncaught exception: map reduce failed:{ "errmsg" : "exception: assertion src/mongo/db/commands/mr.cpp:760", "code" : 0, "ok" : 0 }
내가 mr.cpp L#760 보았다 그러나 어떤 중요한 정보를 수집 할 수 없었다에게 던졌습니다. 무엇이 이것을 일으킬 수 있습니까?
내 컬렉션 내가이 슬레이브에서 불가능하다고 볼 수있는 문서를 보면
> db.searchhistories.find() { "_id" : ObjectId("5247a9e03815ef4a2a005d8b"), "results" : 82883, "response_time" : 0.86, "time" : ISODate("2013-09-29T04:17:36.768Z"), "type" : 0, "user_id" : null, "search_query" : "awareness campaign" } { "_id" : ObjectId("5247a9e0606c791838005cba"), "results" : 39545, "response_time" : 0.369, "time" : ISODate("2013-09-29T04:17:36.794Z"), "type" : 0, "user_id" : 34225174, "search_query" : "eficaz eficiencia efectividad" }
어떤 mongodb 버전입니까? – Derick
Mongo v2.2.1. 슬레이브 노드에서 실행하려고합니다. –