MongoDB-CN-Manual
  • MongoDB中文手册|官方文档中文版
  • MongoDB用户手册说明
  • MongoDB简介
    • 入门
    • 数据库和集合
      • 视图
      • 按需物化视图
      • 封顶集合
      • 时间序列集合
    • 文档
    • BSON类型
      • Comparison and Sort Order
      • MongoDB Extended JSON (v2)
      • MongoDB Extended JSON (v1)
  • 安装 MongoDB
    • 安装MongoDB社区版
      • 在Linux上安装MongoDB社区版
      • 在macOS上安装MongoDB社区版
      • 在Windows上安装MongoDB社区版
    • 安装MongoDB企业版
      • 在Linux上安装MongoDB企业版
      • 在Mac OS安装MongoDB企业版
      • 在Windows安装MongoDB企业版
      • 使用Docker安装MongoDB企业版
    • 将社区版MongoDB升级到企业版MongoDB
    • 验证MongoDB软件包的完整性
  • The mongo Shell
    • 配置mongo Shell
    • 使用 mongo Shell帮助
    • 为mongo Shell编写脚本
    • mongo Shell中的数据类型
    • mongo Shell 快速参考
  • MongoDB CRUD操作
    • 插入文档
      • 插入方法
    • 查询文档
      • 在mongo Shell中迭代游标
      • 从查询返回的项目字段
      • 查询嵌入式文档数组
      • 查询数组
      • 查询空字段或缺少字段
      • 查询嵌入/嵌套文档
    • 更新文档
      • 更新方法
      • 聚合管道更新
    • 删除文档
      • 删除方法
    • 地理空间查询
      • 用地理空间查询查找餐馆
      • GeoJSON对象
    • 批量写入操作
    • 可重试写入
    • 可重试读取
    • SQL到MongoDB的映射图表
    • 文本搜索
      • 文本索引
      • 文本索引操作
      • 集合管道中的文本索引
      • 文本索引语言
    • Read Concern读关注
      • 读关注 "local"
      • 读关注 "available"
      • 读关注 "majority"
      • 读关注 "linearizable"
      • 读关注 "snapshot"
    • Write Concern写关注
    • MongoDB CRUD概念
      • 原子性和事务
      • 读隔离性,一致性和近因性
        • 因果一致性和读写关注
      • 分布式查询
      • 通过findAndModify进行线性化读取
      • 查询计划
      • 查询优化
        • 评估当前操作性能
        • 优化查询性能
        • 写操作性能
        • 说明结果
      • 分析查询表现
      • Tailable 游标
  • MongoDB聚合
    • 聚合管道
      • 聚合管道优化
      • 聚合管道限制
      • 聚合管道和分片集合
      • 使用 Zip Code 数据集进行聚合
      • 使用用户首选项数据进行聚合
    • Map-Reduce
      • Map-Reduce 和分片集合
      • Map-Reduce 并发
      • Map-Reduce 示例
      • 执行增量 Map-Reduce
      • 对 Map Function 进行故障排除
      • 排除 Reduce Function 问题
      • Map-Reduce转换到聚合管道
    • 聚合参考
      • 聚合管道快速参考
      • 聚合命令
      • 聚合命令对比
      • 聚合表达式中的变量
      • SQL 到聚合映射图表
  • MongoDB数据模型
    • 数据建模介绍
    • 模式验证
    • 数据模型设计
      • 一对一嵌套关系模型
  • MongoDB事务
  • MongoDB事务
    • 驱动程序 API
    • 生产注意事项
    • 生产注意事项 (分片集群)
    • 事务操作
  • MongoDB索引
    • 单字段索引
    • 复合索引
    • 多键索引
      • 多键索引范围
    • 文本索引
      • 为文本索引指定语言
      • 指定文本索引的名称
      • 用权重控制搜索结果
      • 限制扫描条目的数量
    • 通配符索引
      • 通配符索引限制
    • 2dsphere 索引
      • 查询一个2dsphere索引
    • 2d 索引
      • 创建一个2d索引
      • 查询一个2d索引
      • 2d索引内部
      • 使用球面几何计算距离
    • geoHaystack 索引
      • 创建Haystack索引
      • 查询Haystack索引
    • 哈希索引
    • 索引特性
      • TTL 索引
        • 通过设置TTL使集合中的数据过期
      • 唯一索引
      • 部分索引
      • 不分大小写索引
      • Sparse 索引
    • 在填充的集合上建立索引
      • 在副本集上建立滚动索引
      • 在分片群集上建立滚动索引
    • 索引交集
    • 管理索引
    • 衡量索引使用
    • 索引策略
      • 创建索引来支持查询
      • 使用索引对查询结果进行排序
      • 确保索引适合RAM
      • 创建以确保选择性的查询
    • 索引参考
  • MongoDB安全
    • 安全检查列表
    • 启用访问控制
    • 身份验证
      • 用户
        • 添加用户
        • 权限认证机制
          • SCRAM
            • 用x.509证书来认证客户端
    • 审计
      • 配置审计过滤器
      • 配置审计
      • 系统事件审计消息
    • 网络和配置强化
    • 安全参考
      • system.roles集合
      • system.users集合
      • 资源文档
      • 权限操作
    • 附录
      • 附录-A-用于测试的 OpenSSl CA 证书
      • 附录-B-用于测试的OpenSSL服务器证书
      • 附录-C-用于测试的OpenSSL客户端证书
  • Change Streams变更流
    • 变更流生产建议
    • 变更事件
  • MongoDB复制
    • 副本集成员
    • 副本集日志
    • 副本集数据同步
    • 副本集部署架构
    • 副本集成员配置教程
    • 副本集维护教程
    • MongoDB复制参考
  • MongoDB分片
    • 分片集群组件
    • 分片键
    • 哈希分片
    • 范围分片
    • 区
      • 管理分片区
      • 按位置细分数据
      • 用于更改SLA或SLO的分层硬件
      • 按应用或客户细分数据
      • 仅插入工作负载的分布式本地写入
      • 管理分片区
    • 使用块进行数据分区
      • 在分片集群中拆分数据块
    • 分片管理
      • 查看集群设置
    • 重启一个分片集群
    • [把一个分片集群迁移到不同的硬件](fen-pian/migrate-a -sharded-cluster-to-different-hardware.md)
    • 分片参考
  • MongoDB管理
    • 产品说明
    • 操作检查列表
    • 开发检查列表
    • 配置和维护
    • 性能
    • 数据中心意识
      • MongoDB部署中的工作负载隔离
      • 区
        • 管理分片区
        • 按位置细分数据
        • 用于更改SLA或SLO的分层硬件
        • 按应用或客户细分数据
        • 仅插入工作负载的分布式本地写入
        • 管理分片区
    • MongoDB备份方法
    • MongoDB监控
  • MongoDB存储
    • 存储引擎
      • WiredTiger 存储引擎
      • 内存存储引擎
    • 日志记录
      • 管理日志记录
        • GridFS
        • FAQ:MongoDB 存储
  • MongoDB参考
    • 运算符
      • 查询与映射运算符
        • 比较查询运算符
          • $eq
          • $gt
          • $gte
          • $in
          • $lt
          • $lte
          • $ne
          • $nin
        • 逻辑查询运算符
          • $and
          • $not
          • $nor
          • $or
        • 元素查询运算符
        • 评估查询运算符
        • 地理空间查询运算符
        • 数组查询运算符
        • 按位查询运算符
        • $comment
        • 映射运算符
      • 更新运算符
        • 字段更新运算符
        • 数组更新运算符
        • 按位更新运算符
      • 聚合管道阶段
      • 聚合管道操作符
        • $abs (aggregation)
        • $acos (aggregation)
        • $acosh (aggregation)
        • $add (aggregation)
        • $addToSet (aggregation)
        • $allElementsTrue (aggregation)
        • $and (aggregation)
        • $anyElementTrue (aggregation)
        • $arrayElemAt (aggregation)
        • $arrayToObject (aggregation)
        • $asin (aggregation)
        • $asinh (aggregation)
        • $atan (aggregation)
        • $atan2 (aggregation)
        • $atanh (aggregation)
        • $avg (aggregation)
        • $ceil (aggregation)
        • $cmp (aggregation)
        • $concat (aggregation)
        • $concatArrays (aggregation)
        • $cond (aggregation)
        • $convert (aggregation)
        • $cos (aggregation)
        • $dateFromParts (aggregation)
        • $dateToParts (aggregation)
        • $dateFromString (aggregation)
        • $literal (aggregation)
      • 查询修饰符
    • 数据库命令
      • 聚合命令
      • 地理空间命令
      • 查询和写操作命令
      • 查询计划缓存命令
      • 认证命令
      • 用户管理命令
      • 角色管理命令
      • 复制命令
      • 分片命令
      • 会话命令
      • 管理命令
      • 诊断命令
      • 免费监控命令
      • 系统事件审计命令
    • mongo Shell 方法
      • 集合方法
        • db.collection.aggregate()
        • db.collection.bulkWrite()
        • db.collection.copyTo()
        • db.collection.count()
        • db.collection.countDocuments()
        • db.collection.estimatedDocumentCount()
        • db.collection.createIndex()
        • db.collection.createIndexes()
        • db.collection.dataSize()
        • db.collection.deleteOne()
        • db.collection.deleteMany()
        • db.collection.distinct()
        • db.collection.drop()
        • db.collection.dropIndex()
        • db.collection.dropIndexes()
        • db.collection.ensureIndex()
        • db.collection.explain()
        • db.collection.find()
        • db.collection.findAndModify()
        • db.collection.findOne()
        • db.collection.findOneAndDelete()
        • db.collection.findOneAndReplace()
        • db.collection.findOneAndUpdate()
        • db.collection.getIndexes()
        • db.collection.getShardDistribution()
        • db.collection.getShardVersion()
        • db.collection.insert()
        • db.collection.insertOne()
        • db.collection.insertMany()
        • db.collection.isCapped()
        • db.collection.latencyStats()
        • db.collection.mapReduce()
        • db.collection.reIndex()
        • db.collection.remove()
        • db.collection.renameCollection()
        • db.collection.replaceOne()
        • db.collection.save()
        • db.collection.stats()
        • db.collection.storageSize()
        • db.collection.totalIndexSize()
        • db.collection.totalSize()
        • db.collection.update()
        • db.collection.updateOne()
        • db.collection.updateMany()
        • db.collection.watch()
        • db.collection.validate()
    • MongoDB中的限制与阈值
    • MongoDB系统集合
    • 词汇表
    • 默认的MongoDB端口
    • 默认的MongoDB读/写关注
    • 服务器会话
  • MongoDB FAQ
    • FAQ: MongoDB基础知识
    • FAQ: MongoDB索引
    • FAQ: MongoDB并发
    • FAQ: MongoDB分片
    • FAQ: MongoDB复制和副本集
    • FAQ: MongoDB存储
    • FAQ: MongoDB诊断
  • MongoDB 版本管理
  • 联系我们
    • Tapdata Cloud
    • MongoDB中文社区
    • 社区合作伙伴—锦木信息
由 GitBook 提供支持
在本页
  • mongo Shell命令历史
  • 命令行选项
  • 命令助手
  • Shell基本JavaScript操作
  • 键盘快捷键
  • 查询
  • 错误检查方法
  • 打开其他连接
  • 多样式
  • 其他资源
  1. The mongo Shell

mongo Shell 快速参考

上一页mongo Shell中的数据类型下一页MongoDB CRUD操作

最后更新于3年前

在本页面

[success] Note

下面的文档是.中包含的 shell。有关新的MongoDB Shell ,mongosh的信息,请参考。

要了解这两种shell的区别,请参阅.

mongo Shell命令历史

命令行选项

下表显示了mongo的一些常用选项:

选项
说明

显示命令行选项

命令助手

帮助方法和命令
描述

help()

打印当前数据库的列表

打印当前数据库的所有角色的列表,包括用户定义的角色和内置角色。

db.<collection>.help()

打印耗时1毫秒或更长时间的五个最新操作。 有关更多信息,请参见数据库分析器上的文档。

show dbs

use<db>

show collections

show users

打印当前数据库列表

show roles

打印当前数据库的所有角色的列表,包括用户定义角色和内置角色。

show profile

show databases

load()

Shell基本JavaScript操作

在mongo shell中,db是引用当前数据库的变量。该变量自动设置为默认数据库测试,或者在**use <db>**切换当前数据库时设置。

下表显示了一些常见的JavaScript操作:

JavaScript数据库操作
说明

如果以安全模式运行,请对用户进行身份验证。

coll = db.<collection>

将当前数据库中的特定集合设置为变量coll,如以下示例所示: coll = db.myCollection; 您可以使用变量在myCollection上执行操作,如以下示例所示: coll.find();

查找集合中的所有文档并返回一个游标。 有关更多信息和示例,请参见db.collection.find()和查询文档。 有关在mongo shell中处理游标的信息,请参阅在mongo Shell中迭代游标。

将新文档插入集合中。

将多个新文档插入集合中。

更新集合中的单个现有文档。

更新集合中的多个现有文档。

插入新文档或更新集合中的现有文档。

从集合中删除单个文档。

从集合中删除多个文档

完全删除或除去集合。

如果索引不存在,则在集合上创建一个新索引;否则,该操作无效。

使用相同的连接返回对另一个数据库的引用,而无需显式切换当前数据库。 这允许跨数据库查询。

有关在shell中执行操作的更多信息,请参见:

键盘快捷键

按键
功能

Up-arrow

以前的历史

Down-arrow

下一个历史

Home

行起点

End

行尾

Tab

自动完成

Left-arrow

后退字符

Right-arrow

向前字符

Ctrl-left-arrow

后向词

Ctrl-right-arrow

前向词

Meta-left-arrow

后向词

Meta-right-arrow

前向词

Ctrl-A

上线

Ctrl-B

向后字符

Ctrl-C

退出

Ctrl-D

删除字符(或退出)

Ctrl-E

行结束

Ctrl-F

转发字符

Ctrl-G

中止

Ctrl-J

接受线

Ctrl-K

杀死线

Ctrl-L

清除屏幕

Ctrl-M

接受线

Ctrl-N

下一个历史记录

Ctrl-P

以前的历史记录

Ctrl-R

反向搜索历史

Ctrl-S

正向搜索历史

Ctrl-T

转置字符

Ctrl-U

丢弃Unix线

Ctrl-W

Unix单词清除

Ctrl-Y

拉动

Ctrl-Z

挂起(作业控制在Linux中有效)

Ctrl-H (i.e. Backspace)

向后删除字符

Ctrl-I (i.e. Tab)

完成

Meta-B

后退词

Meta-C

大写词

Meta-D

杀死命令

Meta-F

转发字

Meta-L

小写词

Meta-U

大写词

Meta-Y

yank-pop

Meta-[Backspace]

撤销杀死命令

Meta-<

历史开始

Meta->

历史结束

查询

读取操作
说明描述

以指定的<sort order>返回结果。 以下示例从集合中选择所有文档,并返回按名称字段升序+1排序的结果。 使用-1降序: coll = db.users; coll.find()。sort({name:1});

以指定的<sort order>返回符合<query>条件的文档。

将结果限制为<n>行。 如果只需要一定数量的行以获得最佳性能,则强烈建议使用。

跳过<n>个结果。

返回集合中的文档总数。

错误检查方法

mongo shell write方法将Write Concern直接集成到方法执行中,并返回一个**WriteResult()**对象,该对象包含操作结果,包括所有写错误和写关注错误。

行政命令助手

下表列出了一些支持数据库管理的常用方法:

JavaScript数据库管理
方法说明

获取当前数据库中所有集合的列表。

删除当前数据库。

打开其他连接

您可以在mongo shell中创建新的连接。 下表显示了创建连接的方法:

JavaScript连接创建方法
说明

db = connect("<host><:port>/<dbname>")

打开一个新的数据库连接。

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

使用新的Mongo()打开与新服务器的连接。 使用连接的getDB()方法选择数据库。

多样式

下表显示了一些其他方法:

方法
描述

Object.bsonsize(<document>)

其他资源

考虑以下解决mongo shell及其接口的参考资料:

译者:王恒

校对:杨帅

您可以使用上下箭头键检索在 shell中发布的先前命令。 命令历史记录存储在**〜/ .dbshell**文件中。 有关更多信息,请参见 。

shell可以使用许多选项启动。 有关所有可用选项的详细信息,请参见 页面。

在不连接数据库的情况下启动mongo shell。 要稍后连接,请参阅。

与JavaScript文件(即<>])结合使用,以在运行JavaScript文件后在mongo shell中继续。 有关示例,请参见 。

shell提供了各种帮助。下表显示了一些常见的帮助方法和命令:

打印所有可用数据库的列表。 该操作对应于命令。 如果部署使用访问控制运行,则该操作将根据用户权限返回不同的值。 有关详细信息,请参见 。

将当前数据库切换到<db>。 shell变量db设置为当前数据库。

打印当前数据库的所有集合的列表。 另可参考:

打印耗时1毫秒或更长时间的五个最新操作。 有关更多信息,请参见 。

打印所有可用数据库的列表。 该操作对应于 命令。 如果部署使用访问控制运行,则该操作将根据用户权限返回不同的值。 有关详细信息,请参见 。

执行一个JavaScript文件。 有关更多信息,请参见 。

shell提供了用于数据库操作的 。

shell提供了大多数键盘快捷键,类似于bash shell或Emacs中的快捷键。 对于某些功能, 提供了多个键绑定,以适应几种熟悉的范例。

下表列举了 shell支持的按键:

在mongo shell中,使用 和 方法执行读取操作。 方法返回一个游标对象, shell对其进行迭代以在屏幕上打印文档。 默认情况下, 打印前20个结果。 shell将提示用户“输入”以继续迭代接下来的20个结果。 下表提供了mongo shell中的一些常见读取操作:

在集合中找到符合<query>条件的文档。 如果未指定<query>条件或该条件为空(即{}),则读取操作将选择集合中的所有文档。 以下示例在用户集合中选择name字段等于“ Joe”的文档:coll = db.users;coll.find( { name: "Joe" } );有关指定<query>条件的更多信息,请参见: .

查找符合<query>条件的文档,并仅返回<projection>中的特定字段。 以下示例从集合中选择所有文档,但仅返回名称字段和**_id字段。 除非明确指定不返回,否则始终返回_id**。 coll = db.users; coll.find({},{name:true}); 有关指定<projection>的更多信息,请参见.。

返回与查询匹配的文档总数。 忽略和.例如,如果有100条记录匹配,但限制为10,则将返回100。这比迭代自己的速度更快,但仍然需要时间。

查找并返回一个文档。 如果找不到,则返回null。 以下示例在用户集合中选择一个名称与“ Joe”匹配的文档: coll = db.users; coll.findOne({name:“ Joe”}); 在内部,方法是带有的方法。

有关更多信息和示例,请参阅 。 请参阅。

将集合从fromColl重命名为<toColl>。 请参阅。

另请参见以获取方法的完整列表。

另请参阅 以获取有关从mongo shell打开新连接的更多信息。

Prints the size of a <document> in bytes

另外,MongoDB源代码存储库包括一个目录,该目录包含许多mongo shell脚本。

mongo Shell命令历史
命令行选项
命令助手
Shell基本JavaScript操作
键盘快捷键
查询
错误检查方法
行政命令助手
打开其他连接
多样式
其他资源
MongoDB服务器下载
mongo
mongosh文档
Comparison of the mongo Shell and mongosh
mongo
.dbshell
mongo
mongo shell
mongo
mongo
JavaScript API
MongoDB CRUD Operations
mongo Shell Methods
mongo
mongo
find()
findOne()
find()
mongo
mongo
mongo
Query Documents
Query and Projection Operators
administrative database methods
Opening New Connections
mongo
mongo Shell Methods
Database Commands
Aggregation Reference
Getting Started Guide
jstests
--help
--nodb
Opening New Connections
--shell
file.js
JavaScript file
db.help()
listDatabases
listDatabases
mongo
show collections
database profiler
listDatabases
listDatabases
Write Scripts for the mongo Shell
db.auth()
db.collection.find()
db.collection.insertOne()
db.collection.insertMany()
db.collection.updateOne()
db.collection.updateMany()
db.collection.save()
db.collection.deleteOne()
db.collection.deleteMany()
db.collection.drop()
db.collection.createIndex()
db.getSiblingDB()
db.collection.find(<query>)
Specify Equality Condition
db.collection.find(<query>, <projection>)
Project Fields to Return from Query
db.collection.find().sort(<sort order>)
db.collection.find(<query>).sort(<sort order>)
db.collection.find( ... ).limit( )
db.collection.find( ... ).skip( )
db.collection.count()
db.collection.find().count()
count()
limit()
skip()
count()
db.collection.findOne()
findOne()
limit(1)
find()
db.fromColl.renameCollection(<toColl>)
Naming Restrictions
db.getCollectionNames()
db.dropDatabase()
BSON