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 ..

Jawaban:


281

Saya telah menemukan jawabannya, sederhana saja print

print("sweetnesss");

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.


+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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.