Можно ли написать консоль mongodb при выполнении javascript?
Я изучаю функциональность mongodb по уменьшению количества карт. Мои первые тесты не работают так, как я ожидал, и я хочу знать, как это работает.
Есть ли любой способ записи в консоль mongodb из javascript-функций, чтобы я мог его проверить?
Я пробовал console.log("...")
, но он не работает.
Я попрошу позже о моих тестах, если не будет никакого способа сделать это.
Ответы
Ответ 1
Для отображения объектов вам нужно использовать '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
>
Ответ 2
Я думаю, что из функций map/reduce вам нужно вставить свои отладочные сообщения в некоторые коллекции журналов:
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
, кажется, что вы не печатаете вывод на консоль, когда находитесь в карте или уменьшаете функции.
Ответ 3
существует очень простое обходное решение в среде с уменьшением карты.
Как получить вывод печати для отладки карты/уменьшения в Mongoid
Ответ 4
Вы можете просто написать имя функции/объекта следующим образом:
>fn = function (){return12;}
>fn
function (){return12;}
>
Попробуйте здесь: http://try.mongodb.org/