On this page
mongo Shell 方法
在本页面
JavaScript in MongoDB
尽管这些方法使用 JavaScript,但是与 MongoDB 的大多数交互都不使用 JavaScript,而是使用交互应用程序语言中的idiomatic driver。
Note
有关特定方法的详细信息,包括语法和示例,请单击特定方法以转到其参考页。
Collection
Cursor
Name | Description |
---|---|
cursor.addOption() | 添加特殊的有线协议标志,以修改查询的行为。” |
cursor.allowPartialResults() | 如果一个或多个查询的分片不可用,则允许对分片集合进行db.collection.find()操作返回部分结果,而不是错误。 |
cursor.batchSize() | 控制 MongoDB 将在单个网络消息中返回给 Client 端的文档数。 |
cursor.close() | 关闭游标并释放关联的服务器资源。 |
cursor.isClosed() | 如果关闭光标,则返回true 。 |
cursor.collation() | 指定db.collection.find()返回的游标的排序规则。 |
cursor.comment() | 在查询中附加 Comments,以允许在日志和 system.profile 集合中进行 traceback。 |
cursor.count() | 修改光标以返回结果集中的文档数,而不是文档本身。 |
cursor.explain() | 报告有关游标的查询执行计划。 |
cursor.forEach() | 为光标中的每个文档应用 JavaScript 函数。 |
cursor.hasNext() | 如果游标包含文档并且可以迭代,则返回 true。 |
cursor.hint() | 强制 MongoDB 对查询使用特定的索引。 |
cursor.isExhausted() | 如果光标已关闭并且批处理中没有剩余对象,则返回true 。 |
cursor.itcount() | 通过获取和迭代结果集来计算游标 Client 端中的文档总数。 |
cursor.limit() | 限制游标结果集的大小。 |
cursor.map() | 将函数应用于游标中的每个文档,并在数组中收集返回值。 |
cursor.max() | 指定游标的排他上限索引。用于cursor.hint() |
cursor.maxScan() | 指定要扫描的最大项目数;用于收集扫描的文档,用于索引扫描的键。 |
cursor.maxTimeMS() | 指定用于游标的处理操作的累积时间限制(以毫秒为单位)。 |
cursor.min() | 指定一个游标的下限值。用于cursor.hint() |
cursor.next() | 返回游标中的下一个文档。 |
cursor.noCursorTimeout() | 指示服务器避免一段时间不活动后自动关闭游标。 |
cursor.objsLeftInBatch() | 返回当前游标批处理中剩余的文档数。 |
cursor.pretty() | 配置光标以易于阅读的格式显示结果。 |
cursor.readConcern() | 为find()操作指定read concern。 |
cursor.readPref() | 为光标指定read preference,以控制 Client 端如何将查询定向到replica set。 |
cursor.returnKey() | 修改光标以返回索引键而不是文档。 |
cursor.showRecordId() | 将内部存储引擎 ID 字段添加到光标返回的每个文档中。 |
cursor.size() | 应用skip()和limit()方法后,返回光标中文档的计数。 |
cursor.skip() | 返回一个游标,该游标仅在通过或跳过多个文档后才开始返回结果。 |
cursor.sort() | 返回根据排序规范排序的结果。 |
cursor.tailable() | 将光标标记为可尾。仅对有上限的集合上的光标有效。 |
cursor.toArray() | 返回一个数组,其中包含光标返回的所有文档。 |
Database
查询计划缓存
Name | Description |
---|---|
db.collection.getPlanCache() | 返回一个接口,以访问查询计划缓存对象和集合的关联 PlanCache 方法。 |
PlanCache.clear() | 清除集合的所有缓存查询计划。可通过特定集合(即db.collection.getPlanCache().clear() )的计划缓存对象进行访问。 |
PlanCache.clearPlansByQuery() | 清除指定查询形状的缓存查询计划。可通过特定集合(即db.collection.getPlanCache().clearPlansByQuery() )的计划缓存对象进行访问 |
PlanCache.getPlansByQuery() | 显示指定查询形状的缓存查询计划。可通过特定集合(即db.collection.getPlanCache().getPlansByQuery() )的计划缓存对象进行访问。 |
PlanCache.help() | 显示可用于集合的查询计划缓存的方法。可通过特定集合(即db.collection.getPlanCache().help() )的计划缓存对象进行访问。 |
PlanCache.listQueryShapes() | 显示存在查询计划的查询形状。可通过特定集合(即db.collection.getPlanCache().listQueryShapes() )的计划缓存对象进行访问。 |
批量写入操作
Name | Description |
---|---|
db.collection.initializeOrderedBulkOp() | 初始化Bulk()操作构建器以获取操作的有序列表。 |
db.collection.initializeUnorderedBulkOp() | 初始化Bulk()操作构建器以获取无序的操作列表。 |
Bulk() | 批量操作生成器。 |
Bulk.execute() | 批量执行操作列表。 |
Bulk.find() | 指定更新或删除操作的查询条件。 |
Bulk.find.arrayFilters() | 指定用于确定要为update 或updateOne 操作更新数组的哪些元素的筛选器。 |
Bulk.find.collation() | 指定查询条件的collation。 |
Bulk.find.remove() | 将多文档删除操作添加到操作列表中。 |
Bulk.find.removeOne() | 将单个文档删除操作添加到操作列表中。 |
Bulk.find.replaceOne() | 将单个文档替换操作添加到操作列表中。 |
Bulk.find.updateOne() | 将单个文档更新操作添加到操作列表中。 |
Bulk.find.update() | 将multi 更新操作添加到操作列表中。 |
Bulk.find.upsert() | 指定upsert: true 进行更新操作。 |
Bulk.getOperations() | 返回在Bulk()操作对象中执行的写入操作的数组。 |
Bulk.insert() | 将插入操作添加到操作列表中。 |
Bulk.tojson() | 返回一个 JSON 文档,其中包含Bulk()操作对象中的操作和批处理数量。 |
Bulk.toString() | 以字符串形式返回Bulk.tojson()结果。 |
User Management
Name | Description |
---|---|
db.auth() | 向数据库验证用户。 |
db.changeUserPassword() | 更改现有用户的密码。 |
db.createUser() | 创建一个新用户。 |
db.dropUser() | 删除一个用户。 |
db.dropAllUsers() | 删除与数据库关联的所有用户。 |
db.getUser() | 返回有关指定用户的信息。 |
db.getUsers() | 返回有关与数据库关联的所有用户的信息。 |
db.grantRolesToUser() | 向用户授予角色及其特权。 |
db.removeUser() | 不推荐使用。从数据库中删除用户。 |
db.revokeRolesFromUser() | 从用户删除角色。 |
db.updateUser() | 更新用户数据。 |
Role Management
Name | Description |
---|---|
db.createRole() | 创建一个角色并指定其特权。 |
db.dropRole() | 删除用户定义的角色。 |
db.dropAllRoles() | 删除与数据库关联的所有用户定义角色。 |
db.getRole() | 返回指定角色的信息。 |
db.getRoles() | 返回数据库中所有用户定义角色的信息。 |
db.grantPrivilegesToRole() | 将特权分配给用户定义的角色。 |
db.revokePrivilegesFromRole() | 从用户定义的角色中删除指定的特权。 |
db.grantRolesToRole() | 指定角色,用户定义的角色将从这些角色继承特权。 |
db.revokeRolesFromRole() | 从角色中删除继承的角色。 |
db.updateRole() | 更新用户定义的角色。 |
Replication
Name | Description |
---|---|
rs.add() | 将成员添加到副本集。 |
rs.addArb() | 将arbiter添加到副本集。 |
rs.conf() | 返回副本集配置文档。 |
rs.freeze() | 防止当前成员在一段时间内寻求选举为主。 |
rs.help() | 返回replica set函数的基本帮助文本。 |
rs.initiate() | 初始化新的副本集。 |
rs.printReplicationInfo() | 从主数据库的角度打印副本集状态的报告。 |
rs.printSlaveReplicationInfo() | 从第二副本的角度打印副本集状态的报告。 |
rs.reconfig() | 通过应用新的副本集配置对象来重新配置副本集。 |
rs.remove() | 从副本集中删除成员。 |
rs.status() | 返回包含有关副本集状态信息的文档。 |
rs.stepDown() | 使当前的primary成为次级,从而强制election。 |
rs.syncFrom() | 设置此副本集成员将从其进行同步的成员,从而覆盖默认的同步目标选择逻辑。 |
Sharding
Constructors
Name | Description |
---|---|
BulkWriteResult() | 包装来自Bulk.execute()的结果集。 |
Date() | 创建一个日期对象。默认情况下,创建一个包含当前日期的日期对象。 |
ObjectId() | 返回ObjectId。 |
ObjectId.getTimestamp() | 返回ObjectId的时间戳部分。 |
ObjectId.toString() | 显示ObjectId的字符串表示形式。 |
ObjectId.valueOf() | 将 ObjectId 的str 属性显示为十六进制字符串。 |
UUID() | 将 32 字节的十六进制字符串转换为 UUID BSON 子类型。 |
WriteResult() | 包装来自 write 方法的结果集。 |
WriteResult.hasWriteError() | 返回一个布尔值,指定结果是否包含WriteResult.writeError。 |
WriteResult.hasWriteConcernError() | 返回一个布尔值,指定结果是否包含WriteResult.writeConcernError。 |
Connection
Name | Description |
---|---|
connect() | 连接到 MongoDB 实例和该实例上的指定数据库。 |
Mongo() | 创建一个新的连接对象。 |
Mongo.getDB() | 返回数据库对象。 |
Mongo.getReadPrefMode() | 返回 MongoDB 连接的当前读取首选项模式。 |
Mongo.getReadPrefTagSet() | 返回为 MongoDB 连接设置的读取首选项标签。 |
Mongo.isCausalConsistency() | 指示是否在连接对象上启用因果一致性。 |
Mongo.setCausalConsistency() | 在连接对象上启用或禁用因果一致性。 |
Mongo.setReadPref() | 为 MongoDB 连接设置read preference。 |
Mongo.startSession() | 在连接对象上启动会话。 |
Session | 会话对象。 |
SessionOptions | 会话的选项对象。 |
Native
Name | Description |
---|---|
cat() | 返回指定文件的内容。 |
cd() | 将当前工作目录更改为指定的路径。 |
copyDbpath() | 复制本地dbPath。供内部使用。 |
getHostName() | 返回运行mongo shell 的系统的主机名。 |
getMemInfo() | 返回一个文档,该文档报告 Shell 程序使用的内存量。 |
hostname() | 返回运行 Shell 程序的系统的主机名。 |
listFiles() | 返回文档数组,这些文档给出目录中每个对象的名称和大小。 |
load() | 在 Shell 中加载并运行一个 JavaScript 文件。 |
ls() | 返回当前目录中文件的列表。 |
md5sumFile() | 指定文件的md5哈希。 |
mkdir() | 在指定路径下创建目录。 |
pwd() | 返回当前目录。 |
quit() | 退出当前的 shell 会话。 |
removeFile() | 从本地文件系统中删除指定的文件。 |
resetDbpath() | 删除本地dbPath。供内部使用。 |
sleep() | 在给定的时间段内挂起mongo shell。 |
setVerboseShell() | 配置mongo Shell 以报告操作时间。 |
version() | 返回mongo shell 实例的当前版本。 |
_isWindows() | 如果 Shell 程序在 Windows 系统上运行,则返回true ; false (如果是 Unix 或 Linux 系统)。 |
_rand() | 返回介于0 和1 之间的随机数。 |