Mongo Shell - консоль / журнал отладки

152

Наверное, глупый вопрос. Экспериментируем с Mongo Shell.

Я хочу сделать что-то вроде:

matt@linuxvm:~/mongodb-linux-i686-1.2.3/bin$ ./mongo
MongoDB shell version: 1.2.3
url: test
connecting to: test
Thu Feb 25 20:57:47 connection accepted from 127.0.0.1:37987 #3
type "help" for help
> function test() { debug.log("hello") }
> test()
Thu Feb 25 20:58:06 JS Error: ReferenceError: debug is not defined (shell):0

Другими словами, как я могу выводить на консоль при оценке функций JS из оболочки Mongo. Я намерен использовать какой-нибудь скрипт администрирования / заполнения, который хотел бы вывести некоторую тонкую информацию.

Я пробовал console.log, debug.log, запишите очевидные ...


источник

Ответы:

289

Я нашел ответ, это просто print

print("sweetnesss");
Максим Филиппов
источник
96
printjson (вещь) немного полезнее при работе с объектами
RobKohr
4

Обычно я использую сценарии при взаимодействии с оболочкой, поэтому я написал базовый объект ведения журнала, который я «загружаю (сценарий)» в оболочку, а затем использую объект ведения журнала для вызова уровней ведения журнала (отладка, информация, предупреждение, ошибка). Объект Logger действительно использует print и printjson в своей основе. Кроме того, он содержит базовый sprintf, отступы, форматирование записи и т. Д. Если вы собираетесь выполнять значительную часть скриптовой работы с mongodb, я рекомендую этот путь. Отладка скриптов mongodb кажется возвращением к началу программирования и отладки с помощью операторов печати. Настраиваемое ведение журнала делает это немного лучше, но мне очень не хватает возможности пошагово выполнять код.

gbegley
источник
+1 за комментарий об отладке печати, не могу не согласиться. Вы делитесь своим кодом регистрации на GitHub или где-то еще? Я сам подумывал о том, чтобы сделать это, но у меня еще не так много кода, чтобы поделиться. Я разветвил github.com/rsdoiel/mongo-modules, но еще ничего не добавил.
Марк Эдингтон
Попробую раскопать.
gbegley
gbegley: Отлично, похоже, мне пригодится. Благодарим вас за то, что вы нашли время предоставить это сообществу mongodb.
Марк Эдингтон