Where should I add the -rest option for MongoDB?

I need to use mongodb with the -rest option. But mongodb starts automatically when it boots, so I think I need to change the file or something like that.

Where can I add this --rest option?

I have this file in /etc/init/mongodb.conf, not sure what to edit:

# Ubuntu upstart file at /etc/init/mongodb.conf limit nofile 20000 20000 kill timeout 300 # wait 300s between SIGTERM and SIGKILL. pre-start script mkdir -p /var/lib/mongodb/ mkdir -p /var/log/mongodb/ end script start on runlevel [2345] stop on runlevel [06] script ENABLE_MONGODB="yes" if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongodb.conf; fi end script 

And this file on /etc/init.d/mongodb:

 #!/bin/sh -e # upstart-job # # Symlink target for initscripts that have been converted to Upstart. set -e INITSCRIPT="$(basename "$0")" JOB="${INITSCRIPT%.sh}" if [ "$JOB" = "upstart-job" ]; then if [ -z "$1" ]; then echo "Usage: upstart-job JOB COMMAND" 1>&2 exit 1 fi JOB="$1" INITSCRIPT="$1" shift else if [ -z "$1" ]; then echo "Usage: $0 COMMAND" 1>&2 exit 1 fi fi COMMAND="$1" shift if [ -z "$DPKG_MAINTSCRIPT_PACKAGE" ]; then ECHO=echo else ECHO=: fi $ECHO "Rather than invoking init scripts through /etc/init.d, use the service(8)" $ECHO "utility, eg service $INITSCRIPT $COMMAND" # Only check if jobs are disabled if the currently _running_ version of # Upstart (which may be older than the latest _installed_ version) # supports such a query. # # This check is necessary to handle the scenario when upgrading from a # release without the 'show-config' command (introduced in # Upstart for Ubuntu version 0.9.7) since without this check, all # installed packages with associated Upstart jobs would be considered # disabled. # # Once Upstart can maintain state on re-exec, this change can be # dropped (since the currently running version of Upstart will always # match the latest installed version). UPSTART_VERSION_RUNNING=$(initctl version|awk '{print $3}'|tr -d ')') if dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 0.9.7 then initctl show-config -e "$JOB"|grep -q '^ start on' || DISABLED=1 fi case $COMMAND in status) $ECHO $ECHO "Since the script you are attempting to invoke has been converted to an" $ECHO "Upstart job, you may also use the $COMMAND(8) utility, eg $COMMAND $JOB" $COMMAND "$JOB" ;; start|stop) $ECHO $ECHO "Since the script you are attempting to invoke has been converted to an" $ECHO "Upstart job, you may also use the $COMMAND(8) utility, eg $COMMAND $JOB" if status "$JOB" 2>/dev/null | grep -q ' start/'; then RUNNING=1 fi if [ -z "$RUNNING" ] && [ "$COMMAND" = "stop" ]; then exit 0 elif [ -n "$RUNNING" ] && [ "$COMMAND" = "start" ]; then exit 0 elif [ -n "$DISABLED" ] && [ "$COMMAND" = "start" ]; then exit 0 fi $COMMAND "$JOB" ;; restart) $ECHO $ECHO "Since the script you are attempting to invoke has been converted to an" $ECHO "Upstart job, you may also use the stop(8) and then start(8) utilities," $ECHO "eg stop $JOB ; start $JOB. The restart(8) utility is also available." if status "$JOB" 2>/dev/null | grep -q ' start/'; then RUNNING=1 fi if [ -n "$RUNNING" ] ; then stop "$JOB" fi # If the job is disabled and is not currently running, the job is # not restarted. However, if the job is disabled but has been forced into the # running state, we *do* stop and restart it since this is expected behaviour # for the admin who forced the start. if [ -n "$DISABLED" ] && [ -z "$RUNNING" ]; then exit 0 fi start "$JOB" ;; reload|force-reload) $ECHO $ECHO "Since the script you are attempting to invoke has been converted to an" $ECHO "Upstart job, you may also use the reload(8) utility, eg reload $JOB" reload "$JOB" ;; *) $ECHO $ECHO "The script you are attempting to invoke has been converted to an Upstart" 1>&2 $ECHO "job, but $COMMAND is not supported for Upstart jobs." 1>&2 exit 1 esac 
+8
mongodb
source share
4 answers

Probably cleaner to enable the REST interface via /etc/mongodb.conf by adding the line:

 rest = true 

This parameter is documented here .

+18
source share

MongoDB version 2.6 switched to the YAML configuration file. The following two entries are required to prevent the following startup warning: mongodb WARNING: --rest is specified without --httpinterface

 net: http: enabled: true RESTInterfaceEnabled: true 
+8
source share

When you start the server using the mongod command, add --rest with the mongod command, like this mongod --rest .

send mongod - MongoDB Manual 2.6 .

After running the completion command, you can use the following simple Restful API:

 http://127.0.0.1:28017/databaseName/collectionName/ 

Here is a simple RestFul API Doc.

+1
source share

Just start the server using mongod --rest

Note. By default, the rest of the APIs are unavailable due to security issues. The web interface is available at localhost:<port> , where the number 1000 greater than the mongod port. For example, your mongodb server is running at 27017 (by default), then you can access mongodb at

 http://127.0.0.1:28017/<db-name>/<collection-name>/ 
-one
source share

All Articles