1 MongoDB简介
MongoDB 是一个基于分布式文件存储的数据库。
(1)由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
(2)在高负载的情况下,添加更多的节点,可以保证服务器性能。
(3)MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
2 MongoDB常用操作
2.1 连接
使用用户名和密码连接到 MongoDB 服务器,你必须使用
'username:password@hostname/dbname' 格式,
'username'为用户名,'password' 为密码。
(1)使用用户名和密码连接登陆到默认数据库:
./mongo
(2)使用用户 admin 使用密码 123456 连接到本地localhost MongoDB 服务上:
mongodb://admin:123456@localhost/
(3)使用用户名admin和密码123456连接登陆到localhost的test数据库:
mongodb://admin:123456@localhost/test
2.2 插入
方法1:db.表名.insert(数据);
方法2:db.表名.save(数据);
(1)备注
- 若在插入操作之前没有先创建表,通过插入操作也会按照表名自动创建;
- 插入数据后,查询mongodb可以看到有_id,是mongodb自已生成的,每行数据都有,默认是ObjectId,可在插入数据时插入这个键的值。
(2)insert和save的区别
- 当默认的“_id”值已存在时,调用insert方法插入会报错;
- 当默认的“_id”值已存在时,save方法不会报错,而是更新相同的_id所在行数据的信息。
2.3 查询
(1)db.表名.find():查询表中所有数据。
(2)db.表名.find(条件):按条件查询。
(3)db.表名.findOne(条件):查询第一条(支持条件)。
(4)db.表名.find().limit(数量):限制数量。
(5)db.表名.find().skip(数量):跳过指定数量。
备注:
- 如果你需要以易读的方式来读取数据,可以使用 pretty() 方法
语法格式如:db.表名.find().pretty()
- 往往线上数据存量较大,查询条件选择不好的话,直接查询存在风险,所以建议查询时,根据集合数据的特点加上一些限制条件。例如:
db.表名.find({$and:[{"条件字段名1":"字段值1"},{"条件字段名2":"字段值2"},{"create_time":{"$gt":"2020-01-11 0:0:0"}}]}).pretty();
2.4 修改
修改就是对已经存在的数据进行修改,按照指定条件进行修改:
db.表名.update({"条件字段名":"字段值"},{$set:{"要修改的字段名":"修改后的字段值"}});
2.5 删除
删除就是按照指定条件对数据进行删除:db.表名.remove(条件);
备注:线上数据删除请谨慎操作