服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - MongoDB - MongoDB数据库常用的10条操作命令

MongoDB数据库常用的10条操作命令

2021-08-21 22:20岛上码农 MongoDB

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。本文简单的介绍一些MongoDB数据库常用的操作命令

1. 显示全部可用数据库

?
1
> show dbs;

该命令将展示 mongo 的全部数据库名称,并列出来。

2. 切换数据库

?
1
> use mydb;

该命令会选择一个指定的数据库,如果数据库不存在,则会自动创建一个。但是需要注意,由于此时数据库没有数据,因此当使用 show dbs命令的时候,看不到该数据库。只有插入了数据集后才可以看到。

3. 显示数据集

?
1
> show collections;

4. 插入数据

插入数据的格式为 db.{数据集名}.insert({数据键值对}),成功后返回插入的条数。

?
1
2
> db.test.insert({"name": "岛上码农"});
WriteResult({ "nInserted" : 1 })

插入多条数据使用中括号括起来即可,此时返回的是批量操作结果,其中 nInserted 返回的是成功插入的条数。。

?
1
2
3
4
5
6
7
8
9
10
11
> db.test.insert([{"name": "岛上码农"},{"name": "掘金"}]);
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 2,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

5. 更新数据

更新一条数据的命令如下,其中格式为 db.{数据集名}.update({查询条件}, {$set: {更新后数据}})。

?
1
2
> db.test.update({"name": "岛上码农"}, {$set: {"name": "码农"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

以上命令只会更新一条匹配的数据,如果要更新多条,需要增加参数:{multi: true}。

?
1
2
> db.test.update({"name": "岛上码农"}, {$set: {"name": "码农"}}, {multi: true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

也可以使用 updateMany 更新多条。

?
1
2
> db.test.updateMany({"name": "码农"}, {$set: {"name": "岛上码农"}});
{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }

6. 替换文档

替换文档会使用新的文档替换掉已有的文档,其中格式为 db.{数据集名}.save({新文档数据})。例如下面的例子替换了_id 为60c8a50adb9890bf41255fe4的文档。

?
1
2
3
4
5
6
7
> db.test.save({"_id": "60c8a50adb9890bf41255fe4", "name": "岛上码农-1"});
WriteResult({
    "nMatched" : 0,
    "nUpserted" : 1,
    "nModified" : 0,
    "_id" : "60c8a50adb9890bf41255fe4"
})

7. 查询数据

查询数据命令为格式为 db.{数据集名}.find()。如果需要限制条数可以加limit(n)。

?
1
> db.test.find();

查询出来的格式需要美化的话,加上 pretty()即可。

?
1
> db.test.find().pretty();

按条件查询时,在 find 中添加筛选参数即可。

?
1
> db.test.find({"name":"岛上码农"}).pretty();

8. 统计条数

统计时使用 count()函数即可,如果需要筛选也是在 find 方法中传筛选条件即可。

?
1
> db.test.find().count();

9. 删除文档

删除文档的格式为db.test.remove({筛选条件});

?
1
2
> db.test.remove({"name":"岛上码农-1"});
WriteResult({ "nRemoved" : 1 })

删除一条的使用 deleteOne 方法,删除多条使用 deleteMany 方法。

?
1
2
3
4
5
> db.test.deleteOne({"name":"岛上码农"});
{ "acknowledged" : true, "deletedCount" : 1 }
 
> db.test.deleteMany({"name":"岛上码农"});
{ "acknowledged" : true, "deletedCount" : 2 }

10. 查看帮助文档

对于有些命令不懂操作的,查看操作文档即可,命令格式为 db.{数据集名}.help()。

以上就是MongoDB数据库常用的10条操作命令的详细内容,更多关于MongoDB 操作命令的资料请关注服务器之家其它相关文章!

原文链接:https://juejin.cn/post/6974014345885777933

延伸 · 阅读

精彩推荐
  • MongoDBMongoDB查询操作限制返回字段的方法

    MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下 ...

    MongoDB教程网6142020-04-24
  • MongoDB使用zabbix监控mongodb的方法

    使用zabbix监控mongodb的方法

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。通过本文给大家介绍使用zabbix监控mongodb的...

    下善若火7512020-05-05
  • MongoDBmongo数据集合属性中存在点号(.)的解决方法

    mongo数据集合属性中存在点号(.)的解决方法

    这篇文章主要给大家介绍了关于mongo数据集合属性中存在点号(.)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    鸡犬相闻4272020-05-19
  • MongoDBMongodb数据库的备份与恢复操作实例

    Mongodb数据库的备份与恢复操作实例

    这篇文章主要介绍了Mongodb数据库的备份与恢复操作实例,本文讲解使用命令在控制台执行实现Mongodb的备份与恢复操作,需要的朋友可以参考下 ...

    MongoDB教程网4322020-04-29
  • MongoDBMongoDB的Master-Slave主从模式配置及主从复制要点解析

    MongoDB的Master-Slave主从模式配置及主从复制要点解析

    主从复制是数据库运维中一种常见的备份方式,这里我们来看一下MongoDB的Master-Slave主从模式配置及主从复制要点解析,需要的朋友可以参考下 ...

    Hunk Shi3872020-05-06
  • MongoDBMongoDB中如何使用JOIN操作详解

    MongoDB中如何使用JOIN操作详解

    相信大家都知道mongodb是不支持join操作的,因此我们只能自己来实现这个功能。所以下面这篇文章主要给大家介绍了关于在MongoDB中如何使用JOIN操作的相关资...

    都市烟火7192020-05-13
  • MongoDBmongoDB在windows下安装与配置方案

    mongoDB在windows下安装与配置方案

    本文详细介绍了在windows系统下安装与配置mongoDB的详细过程,非常的全面,有需要的小伙伴自己参考下吧 ...

    MongoDB教程网3462020-04-29
  • MongoDB详解mongodb搭建Replica Set的方法

    详解mongodb搭建Replica Set的方法

    这篇文章主要介绍了mongodb搭建Replica Set的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    任何时候努力都不会迟8612021-01-03