Mongo Shell - Consola / Registro de depuración

147

Probablemente una pregunta tonta. Experimentando con la concha Mongo.

Quiero hacer algo como:

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

En otras palabras, ¿cómo puedo enviar a la consola al evaluar las funciones JS desde el shell Mongo? Tengo la intención de algún script de administración / población que me gustaría generar alguna información agradable.

He intentado console.log, debug.log, registrar los obvios ...


fuente

Respuestas:

282

He encontrado la respuesta, es simplemente print

print("sweetnesss");
Maxim Filippov
fuente
93
printjson (cosa) es un poco más útil cuando se trata de objetos
RobKohr
2

Usualmente uso scripts cuando interactúo con el shell, así que escribí un objeto básico de Logging que "cargo (script)" en el shell, y luego uso el objeto Logging para llamar a los niveles de registro (depuración, información, advertencia, error). El objeto Logger usa 'print' e 'printjson' en su núcleo. Además, contiene un sprintf básico, relleno, formato de registro, etc. Si va a realizar una cantidad significativa de trabajo de script con mongodb, le recomiendo esta ruta. La depuración de scripts mongodb se siente como volver a la introducción a la programación y la depuración con declaraciones impresas. El registro configurable hace que esto sea un poco mejor, pero realmente extraño poder pasar por el código.

gbegley
fuente
+1 para el comentario sobre la depuración de impresión, no podría estar más de acuerdo. ¿Estás compartiendo tu código de registro en GitHub o en otro lugar? Estaba considerando hacerlo yo mismo, pero todavía no tengo mucho código para compartir. Me bifurcada github.com/rsdoiel/mongo-modules pero no han añadido nada todavía.
Mark Edington el
Intentaré desenterrar esto.
gbegley
gbegley: Excelente, parece algo que me será útil. Le agradezco que se haya tomado el tiempo para proporcionar esto a la comunidad mongodb.
Mark Edington