我正在学习有关mongodb的map-reduce功能。我的第一个测试不能按照我的预期工作,我想知道它是如何工作的。是否可以在javascript执行中写入mongodb控制台?
是否有任何方式从javascript函数写入到mongodb控制台所以我可以检查它?我试过console.log("...")
,但它不起作用。
稍后我会询问我的测试,如果没有办法做到这一点。
我正在学习有关mongodb的map-reduce功能。我的第一个测试不能按照我的预期工作,我想知道它是如何工作的。是否可以在javascript执行中写入mongodb控制台?
是否有任何方式从javascript函数写入到mongodb控制台所以我可以检查它?我试过console.log("...")
,但它不起作用。
稍后我会询问我的测试,如果没有办法做到这一点。
您必须使用'print("anything ..")
'或printjson
来显示对象。
[email protected]:~$ mongo
MongoDB shell version: 2.0.2
connecting to: test
> object = { "name" : "any name .." , "key" : "value" }
{ "name" : "any name ..", "key" : "value" }
> printjson (object)
{ "name" : "any name ..", "key" : "value" }
> print ("hello world")
hello world
>
你可以只写函数/对象,像这样的名字:
>fn = function(){return12;}
>fn
function(){return12;}
>
尝试在这里:http://try.mongodb.org/
我从地图猜/减少需要插入您的功能将消息调试成某些日志集合:
var map = function() {
//some staff here
};
var reduce = function(key, values) {
db.mr_logs.insert({message: "Message from reduce function"});
//some staff here
};
res = db.items.mapReduce(map, reduce,{ query : {}, out : 'example1' })
之后,您可以在mr_logs
集合中找到您的调试结果。
db.mr_logs.find();
至于print
似乎不打印输出,当你在地图或减少功能来安慰。
在map-reduce环境中有一个超级简单的解决方法。
我在Mac上,这工作。如果它不起作用,那是因为你在做其他事情。仔细检查您的文件路径,权限等 – CommaToast 2014-06-03 19:28:45