MongoDB - The mongo Shell, mongo Shell Quick Reference

时间:2022-09-21 08:44:01

mongo Shell Command History

You can retrieve previous commands issued in the mongo shell with the up and down arrow keys. Command history is stored in ~/.dbshell file. See .dbshell for more information.

Command Line Options

The mongo shell can be started with numerous options. See mongo shell page for details on all available options. The following table displays some common options for mongo:

 Option  Description
--help Show command line options
--nodb

Start mongo shell without connecting to a database.

To connect later, see Opening New Connections.

--shell

Used in conjunction with a JavaScript file (i.e. <file.js>) to continue in the mongo shell after running the JavaScript file.

See JavaScript file for an example.

Command Helpers

The mongo shell provides various help. The following table displays some common help methods and commands:

 Help Methods and Commands  Description
 help  Show help.
 db.help()  Show help for database methods.
 db.<collection>.help()  Show help on collection methods. The <collection> can be the name of an existing collection or a non-existing collection.
 show dbs  Print a list of all databases on the server.
 use <db>  Switch current database to <db>. The mongo shell variable db is set to the current database.
 show collections  Print a list of all collections for current database
 show users  Print a list of users for current database.
 show roles  Print a list of all roles, both user-defined and built-in, for the current database.
 show profile  Print the five most recent operations that took 1 millisecond or more. See database profiler for more information. 
 show databases  Print a list of all available databases.
 load()  Execute a JavaScript file. See Write Scripts for the mongo Shell for more information.

Basic Shell JavaScript Operations

The mongo shell provides a JavaScript API for database operations.

In the mongo shell, db is the variable that references the current database. The variable is automatically set to the default database test or is set when you use the use <db> to switch current database.

The following table displays some common JavaScript operations:

JavaScript Database Operations Description
 db.auth()  If running in secure mode, authenticate the user.
 coll = db.<collection>

Set a specific collection in the current database to a variable coll, as in the following example:

coll = db.myCollection;

You can perform operations on the myCollection using the variable, as in the following example:

coll.find();

 db.collection.find()

Find all documents in the collection and returns a cursor.

See the db.collection.find() and Query Documents for more information and examples.

See Iterate a Cursor in the mongo Shell for information on cursor handling in the mongo shell.

 db.collection.insert()  Insert a new document into the collection.
 db.collection.update()  Update an existing document in the collection.
 db.collection.save()  Insert either a new document or update an existing document in the collection.
 db.collection.remove()  Delete documents from the collection.
 db.collection.drop()  Drops or removes completely the collection. 
 db.collection.createIndex()  Create a new index on the collection if the index does not exist; otherwise, the operation has no effect.
 db.getSiblingDB()  Return a reference to another database using this same connection without explicitly switching the current database. This allows for cross database queries.

For more information on performing operations in the shell, see:

Keyboard Shortcuts

The mongo shell provides most keyboard shortcuts similar to those found in the bash shell or in Emacs. For some functions mongo provides multiple key bindings, to accommodate several familiar paradigms.

The following table enumerates the keystrokes supported by the mongo shell:

Keystroke Function
 Up-arrow  previous-history
 Down-arrow  next-history
 Home  beginning-of-line
 End  end-of-line
 Tab  autocomplete
 Left-arrow  backward-character
 Right-arrow  forward-character
 Ctrl-left-arrow  backward-word
 Ctrl-right-arrow  forward-word
 Meta-left-arrow  backward-word
 Meta-right-arrow  forward-word
 Ctrl-A  beginning-of-line
 Ctrl-B  backward-char
 Ctrl-C  exit-shell
 Ctrl-D  delete-char (or exit shell)
 Ctrl-E  end-of-line
 Ctrl-F  forward-char
 Ctrl-G  abort
 Ctrl-J  accept-line
 Ctrl-K  kill-line
 Ctrl-L  clear-screen
 Ctrl-M  accept-line
 Ctrl-N  next-history
 Ctrl-P  previous-history
 Ctrl-R  reverse-search-history
 Ctrl-S  forward-search-history
 Ctrl-T  transpose-chars
 Ctrl-U  unix-line-discard
 Ctrl-W  unix-word-rubout
 Ctrl-Y  yank
 Ctrl-Z  Suspend (job control works in linux)
 Ctrl-H (i.e. Backspace)  backward-delete-char
 Ctrl-I (i.e. Tab)  complete
 Meta-B  backward-word
 Meta-C  capitalize-word
 Meta-D  kill-word
 Meta-F  forward-word
 Meta-L  downcase-word
 Meta-U  upcase-word
 Meta-Y  yank-pop
 Meta-[Backspace]  backward-kill-word
 Meta-<  beginning-of-history
 Meta->  end-of-history

Queries

In the mongo shell, perform read operations using the find() and findOne() methods.

The find() method returns a cursor object which the mongo shell iterates to print documents on screen. By default, mongo prints the first 20. The mongo shell will prompt the user to “Type it” to continue iterating the next 20 results.

The following table provides some common read operations in the mongo shell:

Read Operations Description
 db.collection.find(<query>)  Find the documents matching the <query> criteria in the collection. If the <query> criteria is not specified or is empty (i.e {} ), the read operation selects all documents in the collection.
 db.collection.find(<query>, <projection>)

The following example selects the documents in the userscollection with the name field equal to "Joe":

coll = db.users;
coll.find( { name: "Joe" } );

For more information on specifying the <query> criteria, see Specify Query Filter Conditions.

 db.collection.find().sort(<sort order>)

Find documents matching the <query> criteria and return just specific fields in the <projection>.

The following example selects all documents from the collection but returns only the name field and the _id field. The _id is always returned unless explicitly specified to not return.

coll = db.users;
coll.find( { }, { name: true } );

For more information on specifying the <projection>, see Project Fields to Return from Query.

 db.collection.find(<query>).sort(<sort order>)

Return results in the specified <sort order>.

The following example selects all documents from the collection and returns the results sorted by the name field in ascending order (1). Use -1 for descending order:

coll = db.users;
coll.find().sort( { name: 1 } );

 db.collection.find( ... ).limit( <n> )  Limit result to <n> rows. Highly recommended if you need only a certain number of rows for best performance.
 db.collection.find( ... ).skip( <n> )  Skip <n> results.
 db.collection.count()  Returns total number of documents in the collection.
 db.collection.find(<query>).count()

Returns the total number of documents that match the query.

The count() ignores limit() and skip(). For example, if 100 records match but the limit is 10, count() will return 100. This will be faster than iterating yourself, but still take time.

 db.collection.findOne(<query>)

Find and return a single document. Returns null if not found.

The following example selects a single document in the users collection with the name field matches to "Joe":

coll = db.users;
coll.findOne( { name: "Joe" } );

Internally, the findOne() method is the find() method with a limit(1).

See Query Documents documentation for more information and examples. See Query and Projection Operators to specify other query operators.

Error Checking Methods

Changed in version 2.6.

The mongo shell write methods now integrates the Write Concern directly into the method execution rather than with a separate db.getLastError() method. As such, the write methods now return a WriteResult() object that contains the results of the operation, including any write errors and write concern errors.

Previous versions used db.getLastError() and db.getLastErrorObj() methods to return error information.

Administrative Command Helpers

The following table lists some common methods to support database administration:

 JavaScript Database Administration Methods  Description
 db.cloneDatabase(<host>)  Clone the current database from the <host> specified. The<host> database instance must be in noauth mode. 
 db.copyDatabase(<from>, <to>, <host>)

Copy the <from> database from the <host> to the <to>database on the current server.

The <host> database instance must be in noauth mode.

 db.fromColl.renameCollection(<toColl>)  Rename collection from fromColl to <toColl>.
 db.repairDatabase()  Repair and compact the current database. This operation can be very slow on large databases. 
 db.getCollectionNames()  Get the list of all collections in the current database.
 db.dropDatabase()  Drops the current database.

See also administrative database methods for a full list of methods.

Opening Additional Connections

You can create new connections within the mongo shell. The following table displays the methods to create the connections:

JavaScript Connection Create Methods Description
 db = connect("<host><:port>/<dbname>")   Open a new database connection.

conn = new Mongo()
 db = conn.getDB("dbname")

Open a connection to a new server using new Mongo().

Use getDB() method of the connection to select a database.

See also Opening New Connections for more information on the opening new connections from the mongoshell.

Miscellaneous

The following table displays some miscellaneous methods:

Method Description
 Object.bsonsize(<document>)   Prints the BSON size of a <document> in bytes 

See the MongoDB JavaScript API Documentation for a full list of JavaScript methods

Additional Resources

Consider the following reference material that addresses the mongo shell and its interface:

Additionally, the MongoDB source code repository includes a jstests directory which contains numerous mongo shell scripts.

MongoDB - The mongo Shell, mongo Shell Quick Reference的更多相关文章

  1. MongoDB Shell &lpar;mongo&rpar;

    https://docs.mongodb.com/getting-started/shell/client/ The mongo shell is an interactive JavaScript ...

  2. MongoDB - Introduction of the mongo Shell

    Introduction The mongo shell is an interactive JavaScript interface to MongoDB. You can use the mong ...

  3. MongoDB error&colon; couldn&&num;39&semi;t connect to server 127&period;0&period;0&period;1&colon;27017 src&sol;mongo&sol;shell&sol;mongo&period;js(转)

    rror: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js 一般这种情况就是:自己指定的数据库,所以不能.自动加 ...

  4. 《转》couldn&amp&semi;&num;39&semi;t connect to server 127&period;0&period;0&period;1&colon;27017 at src&sol;mongo&sol;shell&sol;mongo&period;js&colon;145

    couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145,有须要的朋友能够參考下. 应为昨天安装的时候没及时 ...

  5. couldn&&num;39&semi;t connect to server 127&period;0&period;0&period;1&colon;27017 at src&sol;mongo&sol;shell&sol;mongo&period;js&colon;145

    当直接执行./mongo 出现这样的提示:couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 解决: ...

  6. MongoDB源码分析——mongo与JavaScript交互

    mongo与JavaScript交互 源码版本为MongoDB 2.6分支     之前已经说过mongo是MongoDB提供的一个执行JavaScript脚本的客户端工具,执行js其实就是一个js和 ...

  7. MongoDB源码分析——mongo主程序入口分析

    Edit   源码版本为MongoDB 2.6分支 mongo主程序入口分析 mongo是MongoDB提供的一个执行JavaScript脚本的客户端工具,可以用来和服务端交互,2.6版本的Mongo ...

  8. ubuntu mongodb报错:mongo - couldn't connect to server 127&period;0&period;0&period;1&colon;27017

    在进入mongo的时候,出现在下面错误信息.那如何解决呢? 标记一下,以便下次理碰的到时候,有个参考. warning: Failed to connect to 127.0.0.1:27017, r ...

  9. mongodb学习之:mongo安装以及远程访问

    在linux下通过apt-get install mongo的方式一键式安装mongo 安装后mongo的配置文件位于/etc/mongodb.conf. 里面有mongo的各项配置,文件内容如下:重 ...

  10. 快速掌握mongoDB&lpar;一&rpar;——mongoDB安装部署和常用shell命令

    1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库.nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统 ...

随机推荐

  1. Win7 远程桌面 错误代码&colon;5 异常处理&lpar;您的远程桌面会话即将结束 此计算机的虚拟内存可能不足。请关闭其他程序,然后重试连接远程计算机。如果问题仍然存在,请联系网络管理员或技术支持。&rpar;

    问题表现: 在用windows7 远程桌面连接其他电脑时,出现错误提示对话框—-标题为“严重错误(错误代码:5)”,内容为“您的远程桌面会话即将结束 此计算机的虚拟内存可能不足.请关闭其他程序,然后重 ...

  2. dubbo&plus;zipkin调用链监控

    分布式环境下,对于线上出现问题往往比单体应用要复杂的多,原因是前端的一个请求可能对应后端多个系统的多个请求,错综复杂. 对于快速问题定位,我们一般希望是这样的: 从下到下关键节点的日志,入参,出差,异 ...

  3. SonarQube Scanner的配置与使用简介

    一.下载 下载地址: https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.77 ...

  4. openfec的学习笔记

    openfec实现了多种纠删码的算法实现,就包括Reed-Solomon算法.其基本使用流程为:输入n个原始包的分组后,计算生成k个额外的冗余包,后续将这n+k包送到接收端,若发生原始包丢包,但只要总 ...

  5. TCP&sol;IP 通信

    TCP/IP 通信又叫socket 通信,是基于TCP/IP协调面向连接的一个数据传输技术.是属于OSI国际标准的传输层,三次握手 提供数据,有序,安全,端到端的传输和接收.它有三个主要协议:传输控制 ...

  6. Codding&period;net 与 Visual Studio 项目的创建和上传 push 403错误

    1.在codding项目里创建一个项目,记住http 箭头的链接 2.克隆-----第一个框放入上面保存的链接, 下面的框选择一个空文件夹,选好后 克隆就OK 3.在 第2步NewRepo2 文件夹里 ...

  7. aop 例外通知就是记录业务方法出现错误 并保存到日志里面的功能

    aop 例外通知就是记录业务方法出现错误 并保存到日志里面的功能

  8. 图像BMP格式介绍

    1 图像BMP格式说明 BMP是一种与硬件设备无关的图像文件格式,使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大.BMP文件的图像深度可选 ...

  9. bzoj 3685&colon; 普通van Emde Boas树

    3685: 普通van Emde Boas树 Description 设计数据结构支持:1 x  若x不存在,插入x2 x  若x存在,删除x3    输出当前最小值,若不存在输出-14    输出当 ...

  10. 使用libjpeg 压缩yuv420到jpg &lpar;内存方式&rpar;

    #include <Windows.h> #include <stdio.h> extern "C" { #include <jpeglib.h&gt ...