mongo
Shellmongo
壳¶On this page本页内容
mongo
Shellmongo
壳mongo
Shell and Connect to MongoDBmongo
Shell并连接到MongoDBmongo
Shellmongo
Shell.mongorc.js
Filemongo
Shell and mongosh
mongo
Shell和mongosh
的比较The mongo
shell is an interactive JavaScript interface to MongoDB. mongo
Shell是MongoDB的交互式JavaScript接口。You can use the 您可以使用mongo
shell to query and update data as well as perform administrative operations.mongo
shell查询和更新数据以及执行管理操作。
Note
The following document pertains to the 以下文档涉及MongoDB服务器下载中包含的mongo
shell included in the MongoDB Server Download. mongo
shell。For information on the new MongoDB Shell, 有关新MongoDB外壳mongosh
, refer to the mongosh Documentation.mongosh
的信息,请参阅mongosh文档。
To understand the differences between the two shells, see Comparison of the mongo Shell and mongosh.要了解这两种外壳之间的差异,请参阅mongo外壳和mongosh外壳的比较。
mongo
Shellmongo
Shell¶The mongo
shell is included as part of the MongoDB server installation. If you have already installed the server, the mongo
shell is installed to the same location as the server binary.
Alternatively, if you would like to download the mongo
shell separately from the MongoDB Server, you can install the shell as a standalone package by following these steps:
mongo
shell from the archive to a location on your filesystem.mongo
Shell and Connect to MongoDBmongo
Shell并连接到MongoDB¶Once you have downloaded the 下载mongo
shell, you can use it to connect to your running MongoDB server.mongo
Shell后,可以使用它连接到正在运行的MongoDB服务器。
Note
Starting in MongoDB 4.2 (and 4.0.13), the mongo
shell displays a warning message when connected to non-genuine MongoDB instances as these instances may behave differently from the official MongoDB instances; e.g. missing or incomplete features, different feature behaviors, etc.
mongo
shell. Follow the steps in the installation tutorial for your platform to install and start the MongoDB server if required.mongod
server is running, open a terminal window (or a command prompt for Windows) and go to your <mongo shell installation dir>
directory:
Tip
Adding your <mongo shell installation dir>
to the PATH
environment variable allows you to type mongo
directly instead of having to first go to the <mongo shell installation dir>
directory or specify the full path to the binary. Alternatively, you can copy the mongo
shell to a location on your filesystem that is already present in your PATH
, such as /usr/bin
on Linux.
You can run mongo
shell without any command-line options to connect to a MongoDB instance running on your localhost with default port 27017:
To explicitly specify the port, include the --port
command-line option. For example, to connect to a MongoDB instance running on localhost with a non-default port 28015:
To explicitly specify the hostname and/or port,要明确指定主机名和/或端口,
--host <host>:<port>
. For example, to connect to a MongoDB instance running on a remote host machine:
--host <host>
and --port <port>
command-line options. For example, to connect to a MongoDB instance running on a remote host machine:
To connect to a MongoDB instance requires authentication:要连接到MongoDB实例,需要进行身份验证:
alice
:
Note
If you do not specify the password in the connection string, the shell will prompt for the password.
--username <user>
and --password
, --authenticationDatabase <db>
command-line options. For example, to connect and authenticate to a remote MongoDB instance as user alice
:
Note
If you specify --password
without the user’s password, the shell will prompt for the password.
To connect to a replica set:要连接到副本集,请执行以下操作:
Note
Use of the +srv
connection string modifier automatically sets the ssl option to true for the connection.
--host <replica set name>/<host1>:<port1>,<host2>:<port2>,...
command-line option. For example, to connect to replica set named replA
:
For TLS/SSL connections,
ssl=true
option in the connection string.
+srv
connection string modifier:
Note
Use of the +srv
connection string modifier automatically sets the ssl option to true for the connection.
--ssl
command-line option. For example, to connect to replica set named replA
:
See also参阅
For more information on the options used in the connection examples as well as other options, see mongo reference and examples of starting up mongo.
mongo
Shell¶To display the database you are using, type 要显示正在使用的数据库,请键入db
:db
:
The operation should return test
, which is the default database.
To switch databases, issue the use <db>
helper, as in the following example:
See also db.getSiblingDB()
method to access a different database from the current database without switching your current database context (i.e. db
).
To list the databases available to the user, use the helper show dbs
. [1]
You can switch to non-existing databases. When you first store data in the database, such as by creating a collection, MongoDB creates the database. For example, the following creates both the database myNewDatabase
and the collection myCollection
during the insertOne()
operation:
The db.myCollection.insertOne()
is one of the methods available in the mongo shell.
db
myCollection
If the mongo
shell does not accept the name of a collection, you can use the alternative db.getCollection()
syntax. For instance, if a collection name contains a space or hyphen, starts with a number, or conflicts with a built-in function:
The mongo
shell prompt has a limit of 4095 codepoints for each line. If you enter a line with more than 4095 codepoints, the shell will truncate it.
For more documentation of basic MongoDB operations in the mongo
shell, see:
[1] | If the deployment runs with access control, the operation returns different values based on user privileges. See listDatabases Behavior for details. |
The db.collection.find()
method returns a cursor to the results; however, in the mongo
shell, if the returned cursor is not assigned to a variable using the var
keyword, then the cursor is automatically iterated up to 20 times to print up to the first 20 documents that match the query. The mongo
shell will prompt Type it
to iterate another 20 times.
To format the printed result, you can add the .pretty()
to the operation, as in the following:
In addition, you can use the following explicit print methods in the 此外,您可以在mongo
shell:mongo
shell中使用以下显式打印方法:
print()
print(tojson(<obj>))
to print with JSON formatting and equivalent to printjson()
printjson()
to print with JSON formatting and equivalent to print(tojson(<obj>))
For more information and examples on cursor handling in the mongo
shell, see Iterate a Cursor in the mongo Shell. See also Cursor Help for list of cursor help in the mongo
shell.
mongo
Shellmongo
Shell中的多行操作¶If you end a line with an open parenthesis ('('
), an open brace ('{'
), or an open bracket ('['
), then the subsequent lines start with ellipsis ("..."
) until you enter the corresponding closing parenthesis (')'
), the closing brace ('}'
) or the closing bracket (']'
). The mongo
shell waits for the closing parenthesis, closing brace, or the closing bracket before evaluating the code, as in the following example:
You can exit the line continuation mode if you enter two blank lines, as in the following example:如果输入两个空行,则可以退出行继续模式,如下例所示:
The mongo
shell supports keyboard shortcuts. For example,例如
.dbshell
file.<Tab>
to autocomplete or to list the completion possibilities, as in the following example which uses <Tab>
to complete the method name starting with the letter 'c'
:
Because there are many collection methods starting with the letter 'c'
, the <Tab>
will list the various methods that start with 'c'
.
For a full list of the shortcuts, see Shell Keyboard Shortcuts
.mongorc.js
File¶When starting, mongo
checks the user’s HOME
directory for a JavaScript file named .mongorc.js. If found, mongo
interprets the content of .mongorc.js
before displaying the prompt for the first time. If you use the shell to evaluate a JavaScript file or expression, either by using the --eval
option on the command line or by specifying a .js file to mongo, mongo
will read the .mongorc.js
file after the JavaScript has finished processing. You can prevent .mongorc.js
from being loaded by using the --norc
option.
To exit the shell, type quit()
or use the <Ctrl-C>
shortcut.
mongo
Shell and mongosh
¶Note
mongosh is currently available as a Beta release. The product, its features, and the corresponding documentation may change during the Beta stage.在测试阶段,产品、其功能和相应的文档可能会发生更改。
The new MongoDB Shell, mongosh, offers numerous advantages over the mongo
shell, such as:
During the beta stage, mongosh
supports a subset of the mongo
shell methods. Achieving feature parity between mongosh
and the mongo
shell is an ongoing effort.
To maintain backwards compatibility, the methods that mongosh
supports use the same syntax as the corresponding methods in the mongo
shell. To see the complete list of methods supported by mongosh
, see MongoDB Shell Methods.
See also参阅
mongo
Reference Page