gpt4 book ai didi

mongodb - mongo mapreduce中的断言异常

转载 作者:可可西里 更新时间:2023-11-01 10:32:24 25 4
gpt4 key购买 nike

我有一个存储搜索查询日志的集合。它的两个主要属性是user_id 和search_query。对于已注销的用户,user_id 为空。我正在尝试运行 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" }

最佳答案

查看文档我发现这在从机中是不可能的。不过,它在 master 中会工作得很好。如果您仍想使用从站,则必须使用以下语法。

db.searchhistories.mapReduce(map, 
reduce,
{
query: { "time" : {
$gte : ISODate("2013-10-26T14:40:00.000Z"),
$lt : ISODate("2013-10-26T14:45:00.000Z")
}
},
out : { inline : 1 }
}
)

** 使用内联函数时,确保输出文档大小不超过 16MB 限制。

关于mongodb - mongo mapreduce中的断言异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com