Возможно ли написать на консоль mongodb в исполнении javascript? - PullRequest
49 голосов
/ 21 декабря 2011

Я изучаю функциональность mongodb для сокращения карт.Мои первые тесты не работают, как я ожидал, и я хочу знать, как это работает.

Есть ли какой-либо способ записи в консоль mongodb из функций javascript , чтобы я мог проверить это?

Я пытался console.log("..."), но это не работает.

Позже я спрошу о моих тестах, если нет никакого способа сделать это.

Ответы [ 4 ]

81 голосов
/ 21 декабря 2011

Вы должны использовать '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
>
7 голосов
/ 21 декабря 2011

Я полагаю, из функций отображения / сокращения вам нужно вставить свои сообщения 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, кажется, что вывод на консоль не выводится, когда вы находитесь в карте или сокращаете функции.

5 голосов
/ 15 марта 2014

Существует супер легкий обходной путь в среде уменьшения карты.

Как получить вывод на печать для отладки карты / уменьшить в Mongoid

0 голосов
/ 21 декабря 2011

Вы можете просто написать имя функции / объекта следующим образом:

>fn = function (){return12;}
>fn
function (){return12;}
>

Попробуйте здесь: http://try.mongodb.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...