Configure themongoShell

    You may modify the content of the prompt by setting the variablepromptin theshell. Thepromptvariable can hold strings as well as JavaScript code. Ifpromptholds a function that returns a string,mongocan display dynamic information in each prompt.

    You can add the logic for the prompt in thefile to set the prompt each time you start up themongoshell.

    For example,to create ashell prompt with the number of operations issued in the current session, define the following variables in themongoshell:

    The prompt would then resemble the following:

    1. 1
    2. >
    3. 2
    4. >
    5. 3
    6. >

    To create ashell prompt in the form of<database>@<hostname>$, define the following variables:

    1. host
    2. =
    3. db
    4. .
    5. serverStatus
    6. ().
    7. host
    8. ;
    9. prompt
    10. function
    11. ()
    12. {
    13. return
    14. +
    15. "@"
    16. +
    17. host
    18. +
    19. "$ "
    20. ;
    21. }
    1. test@myHost1$

    To create amongoshell prompt that contains the system up time_and_the number of documents in the current database, define the followingpromptvariable in theshell:

    The prompt would then resemble the following:

    1. Uptime
    2. :
    3. 5897
    4. Documents
    5. :
    6. 6
    7. >

    You can use your own editor in themongoshell by setting theenvironment variable_before_starting themongoshell.

    1. export
    2. EDITOR
    3. =
    4. mongo

    Once in theshell, you can edit with the specified editor by typingedit<variable>oredit<function>, as in the following example:

    1. Define a functionmyFunction:

      1. function
      2. myFunction
      3. ()
      4. }
    2. The command should open thevimedit session. When finished with the edits, save and exitvimedit session.

    3. In themongoshell, typemyFunctionto see the function definition:

      1. myFunction

      The result should be the changes from your saved edit:

      1. function
      2. myFunction
      3. ()
      4. {
      5. print
      6. (
      7. "This was edited"
      8. );
      9. }

    NOTE

    Asshell interprets code edited in an external editor, it may modify code in functions, depending on the JavaScript compiler. Formongomay convert1+1to2or remove comments. The actual changes affect only the appearance of the code and will vary based on the version of JavaScript used but will not affect the semantics of the code.

    You can set theDBQuery.shellBatchSizeattribute to change the number of documents from the default value of20, as in the following example which sets it to10:

    1. DBQuery
    2. .
    3. shellBatchSize
    4. =
    5. 10