Mongo Shell - dziennik konsoli / debugowania


147

Prawdopodobnie głupie pytanie. Eksperymentowanie z muszlą Mongo.

Chcę zrobić coś takiego:

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

Innymi słowy, w jaki sposób mogę wyświetlać dane wyjściowe na konsoli podczas oceny funkcji JS z poziomu powłoki Mongo. Zamierzam użyć jakiegoś skryptu administratora / zapełnienia, który chciałbym wyprowadzić kilka drobnych informacji.

Wypróbowałem console.log, debug.log, zarejestruj te oczywiste ...

Odpowiedzi:


281

Znalazłem odpowiedź, jest po prostu print

print("sweetnesss");

93
printjson (rzecz) jest trochę bardziej przydatna w przypadku obiektów
RobKohr

2

Zwykle używam skryptów podczas interakcji z powłoką, więc napisałem podstawowy obiekt Logging, który „ładuję (skrypt)” do powłoki, a następnie używam obiektu Logging do wywoływania poziomów rejestrowania (debugowanie, informacje, ostrzeżenie, błąd). Obiekt Logger w swoim rdzeniu używa 'print' i 'printjson'. Zawiera również podstawowy sprint, dopełnienie, formatowanie rekordów itp. Jeśli masz zamiar wykonywać znaczną ilość pracy skryptowej z mongodb, polecam tę trasę. Debugowanie skryptów mongodb to jak powrót do wprowadzenia do programowania i debugowania za pomocą instrukcji print. Konfigurowalne rejestrowanie sprawia, że ​​jest to trochę lepsze, ale naprawdę brakuje mi możliwości przechodzenia przez kod.


+1 za komentarz dotyczący debugowania drukowania, nie mogę się bardziej zgodzić. Czy udostępniasz swój kod do logowania na GitHub czy gdzieś? Sam rozważałem zrobienie tego, ale nie mam jeszcze zbyt wiele kodu do udostępnienia. I rozwidlone github.com/rsdoiel/mongo-modules ale nie wszystko jeszcze.
Mark Edington,

Spróbuję to wykopać.
gbegley

gbegley: Świetnie, wygląda na coś, co będzie dla mnie przydatne. Doceniam, że poświęciłeś czas na przekazanie tego społeczności Mongodb.
Mark Edington,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.