MongoDB学习笔记(七)——MongoDB shell方法汇总

在写前面的博文的时候,我发现MongoDB shell提供了很多方法,其中MongoDB的很多方法也在其中,下面是我从MongoDB官网上查到的所有MongoDB shell的所有方法,当然,我不会对每个方法进行详细解释,因为太多了。我会将方法功能说明白,并且把官网连接挂在后面,有兴趣的可以点进去看一下。由于个人翻译水平有限,可能有些翻译文不及意,忘海涵!

对于查看方法有一个小技巧,就是我们使用shell或在linux系统里面想要查看某个对象能够调用的所有方法时可以使用:对象.+tab+tab,如图db对象能够调用的所有方法和集合(后面带半括号的都是方法,不带半括号的都是对象):
这里写图片描述

下面开始:

集合方法(Collection Methods)

注:db.collection.* == db.要操作的集合名称.*

方法名 方法功能 官网连接
db.collection.aggregate(pipeline, options) 计算集合或视图中的数据的聚合值。 链接
db.collection.bulkWrite() 3.2版本,控制多个操作顺序执行写入操作 链接
db.collection.copyTo(newCollection) 3.0版本以后不建议使用,使用服务器端的javascript将当前集合中的所有文档复制到newCollection中。如果newCollection不存在,mongodb会自动创建。 链接
db.collection.count(query, options) 根据查询条件和限制条件,获取符合条件的文档数 链接
db.collection.createIndex(keys, options) 在集合中创建索引,3.2版本修改:mongodb不允许创建0版本索引。若要升级现有的0版本索引,请参考 Version 0 Indexes 链接
db.collection.createIndexes([keyPatterns, ]options) 3.2版本新功能,在集合上创建一个或多个索引 链接
db.collection.dataSize() 返回当前集合的数据量大小,此方法提供了一个包裹collStats(即db.collection.stats()命令的大小输出的包装器 链接
db.collection.deleteOne(filter,[writeConcern],[collation]) 从集合中删除单个文档 链接
db.collection.deleteMany(filter,[writeConcern],[collation]) 删除所有与筛选器匹配的文档 链接
db.collection.distinct(field, query, [options]) 在单个集合或视图中找到指定字段的不同值列表,并返回数组中的结果。 链接
db.collection.drop() 从数据库中删除一个集合或视图,该方法还会删除与已删除集合关联的任何索引。该方法提供了包裹drop命令的包装器 链接
db.collection.dropIndex(index) 从集合中删除指定索引,该方法提供了包裹dropIndexes命令的包装器 链接
db.collection.dropIndexes() 删除除_id字段上的必需索引以外的所有索引。只调用dropIndexes()作为集合对象上的方法。警告:此命令在受影响数据库中获得写入锁,并将阻止其他操作直到完成为止 链接
db.collection.ensureIndex(keys, options) 如果索引未存在,则在指定字段上创建索引。3.0.0版本以后不建议使用:该方法更名为createIndex()。 链接
db.collection.explain() 3.0版本新功能,3.0版本添加 db.collection.distinct()支持。返回下列操作的查询计划的信息: aggregate(); count(); distinct(); find(); group(); remove(); 和 update()方法。 链接
db.collection.find(query, projection) 在集合或视图中查询符合条件的文档,并返回选定文档的游标。 链接
db.collection.findAndModify(document) 修改并返回单个文档。默认情况下,返回的文档不包含更新上所做的修改。若要使用更新上的修改返回文档,请使用新参数。 链接
db.collection.findOne(query, projection) 返回满足集合或视图上指定的查询条件的文档列表的磁盘上文档顺序的自然顺序的第一个文档。在覆盖集合中,自然顺序与插入顺序相同。如果没有文档满足查询,则该方法返回null。 链接
db.collection.findOneAndDelete(filter, options) 3.2版本新功能,根据筛选条件删除第一个恶文档,并返回已删除的文档。 链接
db.collection.findOneAndReplace(filter, replacement, options) 3.2版本新功能,根据筛选条件替换第一个文档 链接
db.collection.findOneAndUpdate(filter, update, options) 3.2版本新功能,根据筛选器条件更新第一个文档。 链接
db.collection.getIndexes() 返回当前集合中现有索引的文档列表数组。您必须在集合上调用该方法。 链接
db.collection.getShardDistribution() 打印一个sharded集合的分布统计数据,您必须在sharded集合上调用该方法 链接
db.collection.getShardVersion() 当我们诊断sharded集群基础问题时,返回关于sharded集群的有用的状态信息。仅用于内部诊断 链接
db.collection.group({ key, reduce, initial [, keyf] [, cond] [, finalize] }) 将集合中的文档按指定键进行组,并执行简单聚合函数,该方法类似于sql中语句的SELECT <…> GROUP BY语句,3.4版本不建议使用:3.4版本重新定义了该方法. 使用aggregate()的$group或者mapReduce()方法代替 链接
db.collection.insert() 在集合中插入一个文档或多个文档 链接
db.collection.insertOne() 3.2版本新功能,在集合中插入一个文档 链接
db.collection.insertMany() 3.2版本新功能,在集合中插入多个文档 链接
db.collection.isCapped() 判断当前集合是否是一个capped collection 链接
db.collection.latencyStats(options) 返回给定集合的延迟统计值,它是一个$collStats的包装器 链接
db.collection.mapReduce(map, reduce, {out, query, sort, limit, finalize, scope, jsMode, verbose}) 该方法提供了一个 mapReduce命令的包装器 链接
db.collection.reIndex() 该将集合中的所有索引都删除并重新创建它们。对于拥有大量数据和或大量索引的集合来说,此操作可能会很浪费资源。 链接
db.collection.remove() 删除集合中打的所有文档,该方法可以携带两个参数,查询条件和一个justOne 的boolean值 链接
db.collection.renameCollection(target, dropTarget) 给集合重命名,该方法提供了一个 renameCollection database命令的包装器 链接
db.collection.replaceOne(filter, replacement, options) 3.2新功能,根据筛选器替换集合内的单个文档。 链接
db.collection.save() 根据文档参数,更新现有文档或插入新文档 链接
db.collection.stats(scale \ options) 返回有关集合的统计信息。 链接
db.collection.storageSize() 分配给此集合用于文档存储的总存储量。提供了一个封装collStats输出的storageSize字段的包装器 链接
db.collection.totalIndexSize() 集合中所有索引的总数,该方法封装了一个collStats(即db.collection.stats())操作的输出totalIndexSize的封装器 链接
db.collection.totalSize() 集合中数据的字节总数加上集合中的每个索引的大小。 链接
db.collection.update(query, update, options) 修改集合中的一个文档或多个文档。该方法可以修改文档的特定字段,或者完全替换现有文档,取决于更新参数。默认情况下,update()方法更新单个文档。设置多参数( Multi Parameter)以更新所有符合查询标准的文档。 链接
db.collection.updateOne(filter, update, options) 3.2版本新功能根据筛选器更新集合中的单个文档。 链接
db.collection.updateMany(filter, update, options) 3.2新版本功能,根据筛选器更新集合中的多个文档。 链接
db.collection.watch(pipeline, options) 在集合上打开一个更改流游标(change stream cursor)。 链接
db.collection.validate(true) 验证集合。该方法扫描集合的数据结构的正确性并返回一个文档,该文档描述逻辑集合与数据本身描述之间的关系。 链接

游标方法(Cursor Methods)

注:游标即为调用下列方法的对象

方法名 方法功能 官网连接
cursor.addOption(flag) 添加OP_QUERY有线协议标志,比如tailable flag,来更改查询的行为。但是3.2版本以后,不建议在MongoDB shell中使用,可以使用有用的游标方法代替
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值