Mongo Shell - Console/Debug Log

Mongodb

Mongodb Problem Overview


Probably a dumb question. Experimenting with Mongo shell.

I want to do something like:

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

In other words, how can I output to the console when evaluating JS functions from within Mongo shell. I intend some admin / populate script that I'd like to output some nicety info.

I've tried console.log, debug.log, log the obvious ones..

Mongodb Solutions


Solution 1 - Mongodb

I've found the answer, it is simply print

print("sweetnesss");

Solution 2 - Mongodb

I usually use scripts when interacting with the shell, so I wrote a basic Logging object that I "load(script)" into the shell, and then use the Logging object to call logging levels (debug,info,warn,error). The Logger object does use 'print' and 'printjson' at it's core. Also, it contains a basic sprintf, padding, record formatting, etc. If you are going to be doing any signifigant amount of script work with mongodb, I recommend this route. Debugging mongodb scripts feels like being back at intro to programming and debugging with print statements. Configurable logging makes this a little better, but I really miss being able to step through the code.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser53791View Question on Stackoverflow
Solution 1 - Mongodbuser53791View Answer on Stackoverflow
Solution 2 - MongodbgbegleyView Answer on Stackoverflow