Mapreduce pymongo.errors.OperationFailure表示ns不存在
我得到了如下错误: 回溯(最近一次呼叫最后一次): pymongo.errors.OperationFailure:命令子([('mapreduce',), u'tweets'),('map',代码('function(){emit(this.via,1);}, {})),('reduce',Code('function(key,value){\n var res= 0;\n values.forEach(函数(v){res+=1})\n返回 命名空间上的{count:res};\n}\n',{})),('out','via_count')]) 语料库.$cmd失败:ns不存在 代码为:Mapreduce pymongo.errors.OperationFailure表示ns不存在,mapreduce,Mapreduce,我得到了如下错误: 回溯(最近一次呼叫最后一次): pymongo.errors.OperationFailure:命令子([('mapreduce',), u'tweets'),('map',代码('function(){emit(this.via,1);}, {})),('reduce',Code('function(key,value){\n var res= 0;\n values.forEach(函数(v){res+=1})\n返回 命名空间上的{count:res};\n}\n',{
from pymongo import MongoClient
from bson.code import Code
con = MongoClient()
db = con.Corpus
tweets = db.tweets
map = Code("function() { emit(this.via, 1); }")
reduce = Code(""" function(key,value) {
var res = 0;
values.forEach(function(v) {res += 1 })
return {count: res};
}
""")
result = tweets.map_reduce(map, reduce, "via_count")
for doc in db.via_count.find():
print(doc)
在命名空间语料库上。$cmd失败:ns不存在 这意味着语料库中没有名为“tweets”或“via_count”的集合
与mongodb中的原始查询不同,map_reduce函数在不存在的情况下不会生成新集合。即使数据库不存在,也会删除相同的错误对此有任何更新吗?我得到了同样的错误一些解释的例子会很好。这是回答问题,还是一个评论/单独的问题?这是一个评论,一个答案的增强。