我收到如下错误: 回溯(最近一次调用最后一次):
pymongo.errors.OperationFailure:命令SON([(' mapreduce', 你的推文'),('地图',代码(' function(){emit(this.via,1);}', {})),(' reduce',Code(' function(key,value){\ n var res = 0; \ n values.forEach(function(v){res + = 1})\ n返回 关于命名空间的{count:res}; \ n} \ n',{})),(' out',' via_count')]) 语料库。$ cmd失败:ns不存在
代码是:
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)
答案 0 :(得分:2)
。$ cmd失败:ns不存在
这意味着你没有收集名为'推文'或' via_count'在语料库中。
与mongodb中的原始查询不同,如果新的集合不存在,则map_reduce函数不会创建新的集合。
答案 1 :(得分:0)
即使数据库不存在,也会丢失相同的错误