我正在学习mongodb的map-reduce功能。我的第一次测试不能按预期工作,我想知道它是如何工作的。
是否有从javascript函数写入mongodb控制台的任何方法,以便我可以检查它?
我尝试了console.log("...")
,但它不起作用。
如果没有办法,我会稍后询问我的测试。
答案 0 :(得分:80)
您必须使用“print( "anything .." )
”或printjson
来显示对象。
andrey@andrey:~$ 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
>
答案 1 :(得分:7)
我想从map / reduce函数中你需要将 debug 消息插入到一些日志集合中:
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函数时,它似乎不会将输出打印到控制台。
答案 2 :(得分:5)
map-reduce环境中有一个非常简单的解决方法。
答案 3 :(得分:-2)
您可以像这样编写函数/对象的名称:
>fn = function (){return12;}
>fn
function (){return12;}
>
在此处试试:http://try.mongodb.org/