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, запишите очевидные ...

Ответы:



4

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


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

Попробую раскопать.
gbegley

gbegley: Отлично, похоже, мне пригодится. Благодарим вас за то, что вы нашли время предоставить это сообществу mongodb.
Марк Эдингтон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.