Сводка
При запуске файла JavaScript изнутри meteor mongo
в окне терминала, объекты отображаются как [object BSON]
. Как я могу увидеть данные внутри объекта?
Подробности
Во время разработки приложения Meteor я часто хочу сбросить определенные поля в определенных коллекциях в базе данных MongoDB. Я могу сделать это вручную:
- Открытие окна терминала
- Переход в каталог root моего приложения Meteor
- Запуск
meteor mongo
- Копирование из текстового файла серии команд, разделенных точками с запятой и без разрывов строк
- Вставка команд в окно терминала
- Нажатие Enter
Чтобы снова выполнить сброс базы данных, я могу просто нажать стрелку вверх на клавиатуре, чтобы отобразить последнюю выполненную команду, а затем снова нажать Enter.
Последняя команда выводит документ MongodDB в окно терминала, чтобы подтвердить, что процесс сброса прошел согласно плану.
Чтобы сделать это более элегантным, я создал файл JavaScript с именем reset.js
в root моего проекта Meteor. В окне терминала после запуска meteor mongo
я могу позвонить ...
load("reset.js")
... и скрипт будет выполнен. Если мой скрипт содержит команду print( <some data> )
, соответствующий вывод появляется в окне терминала. Однако результаты вызовов db.collection.findOne()
отображаются как [object BSON]
, а использование JSON.stringify()
вызывает ошибку.
Нужно ли писать собственную функцию prettify
для преобразования содержимого возвращаемого объекта в строка или есть простое встроенное решение для отображения содержимого объекта BSON?