Mongo Shell - Konsol / Debug Log

147

Mungkin pertanyaan bodoh. Bereksperimen dengan cangkang Mongo.

Saya ingin melakukan sesuatu seperti:

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

Dengan kata lain, bagaimana saya bisa output ke konsol ketika mengevaluasi fungsi JS dari dalam shell Mongo. Saya bermaksud beberapa skrip admin / populasikan yang ingin saya tampilkan beberapa info keramahtamahan.

Saya sudah mencoba console.log, debug.log, catat yang jelas ..


sumber

Jawaban:

281

Saya telah menemukan jawabannya, sederhana saja print

print("sweetnesss");
Maxim Filippov
sumber
93
printjson (benda) sedikit lebih berguna ketika berhadapan dengan objek
RobKohr
2

Saya biasanya menggunakan skrip ketika berinteraksi dengan shell, jadi saya menulis objek Logging dasar yang saya "memuat (script)" ke dalam shell, dan kemudian menggunakan objek Logging untuk memanggil level logging (debug, info, memperingatkan, kesalahan). Objek Logger memang menggunakan 'print' dan 'printjson' pada intinya. Juga, ini berisi sprintf dasar, padding, format pemformatan, dll. Jika Anda akan melakukan pekerjaan skrip dengan mongodb dalam jumlah yang signifikan, saya merekomendasikan rute ini. Debugging skrip mongodb terasa seperti kembali pada intro pemrograman dan debugging dengan pernyataan cetak. Pembuatan log yang dapat dikonfigurasi membuat ini sedikit lebih baik, tapi saya benar-benar rindu bisa menelusuri kode.

gbegley
sumber
+1 untuk komentar tentang debugging cetak, sangat setuju. Apakah Anda membagikan kode logging di GitHub atau di suatu tempat? Saya sedang mempertimbangkan untuk melakukan itu sendiri, tetapi saya belum punya banyak kode untuk dibagikan. Saya bercabang github.com/rsdoiel/mongo-modules tetapi belum menambahkan apa pun.
Mark Edington
Saya akan mencoba menggali ini.
gbegley
gbegley: Luar biasa, sepertinya sesuatu yang akan berguna bagiku. Menghargai Anda meluangkan waktu untuk memberikan ini kepada komunitas mongodb.
Mark Edington