我创建了一个功能图,是这个
var m = function() {
hashtags = {}
for(var i in this.entities.hashtags) {
hashtags[this.entities.hashtags[i].text] = 1
};
var valor = {numtweets: 1 ,
dic_hastag: hashtags};
print(" value: " + tojson(valor));
emit(this.place.country_code, valor)
};
我从一个名为tweets的集合开始,我的map函数的输出应该有一个变量numtweets:1 和av ariable hastags与整个推文hastats的列表为1。 例 Nuwtweets:1,hastags:" hast1":1," hast2":2," hast3":1 1.-我可以将结果保存在一个集合中,以证明它运行良好而不是打印 2.-如果不是我必须做mapreduce,那么函数应该减少,为什么不做任何事情,所以当执行它时,map函数的输出
Db.runCommand ({
MapReduce: "tweets",
Map: m,
Reduce: r,
Query: {"place.country_code": "AD"},
Out: {replace: "resultat5fi"}
});
任何建议,帮助,欢迎任何事情。
答案 0 :(得分:0)
我建议你看this。
这是使用mongodb轻松调试地图功能的方法。
首先,像你一样创建你的地图功能
然后定义一个将打印(或插入集合)
插入到toto集合中的emit函数示例。
var emit = function(key, value) {
db.toto.insert({key: key, value: value});
}
示例:
var myCursor = db.tweets.find( {} );
while (myCursor.hasNext()) {
var doc = myCursor.next();
map.apply(doc);
print();
}
这样:
db.toto.find()