MongoDB笔记合辑
Mongodb是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间的产品,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB将数据库存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组及文档数组。
一、64bit的win10下安装Mongidb
1.MongoDB官网:https://www.mongodb.com/try/download/community选择安装包下载,如下图:
2.双击安装包,点击next:
3.勾选同意协议,点击下一步
4.点击custom,配置安装目录
5.点击next
6.取消勾选 "install mongoDB compass" (图形界面管理工具)耗时比较长不推荐勾选。
7.点击安装
8. 进入MongoDB安装路径,切换到data目录,在data下面新建文件夹db
9. windows+R,输入cmd开启命令行,切换到MongoDB\bin目录下,执行命令mongod --dbpath C:\MongoDB\data\db
10.重新打开一个命令行,切换到 MongoDB\bin目录下执行命令 mongo
11.设置mongo服务自动启动:右键点击电脑,点击属性,点击高级系统设置,点击环境变量,在用户变量里面找到path,点击编辑,把bin目录的路径地址添加到最后面,这样在电脑的任意路径都可以直接执行 mongo
12. windows+R,输入 services.msc,打开服务,找到MongoDB,这是安装的时候自动创建的。点击启动,会报错;
windows+Q,输入 cmd, 右键点击命令提示符,点击以管理员身份运行,命令行会显示管理员;
执行命令sc delete MongoDB, MongoDB状态变为了禁用;切换到C:\MongoDB\data,新建log文件夹;
执行命令mongod --dbpath C:\MongoDB\data\db --logpath C:\MongoDB\data\log\mongo.log --install --serviceName MongoDB;
查看服务,找到MongoDB服务,右键点击启动;
13. 通过浏览器查看127.0.0.1:27017查看
二、mongo命令行操作
1.cls——清屏
2.show dbs 查看数据库列表
3.use xxdb 使用、创建数据库
4. db.student.insert({"key":value"}); 数据库集合中插入数据
5.show collections/tables 显示数据表/集合
6. db.dropDatabase() 删除当前所在数据库
7. db.xxx.drop() 删除数据库集合或表xxx
8. db.xxx.find() 查询表/集合所有记录
9. db.xxx.distinct("sth") 查询表xxx表中sth列不重复数据
10. db.xxx.find({"sth": 22}) 查询表xxx表中某列值为22的数据
11. db.xxx.find({sth: {$gt: 22}}) 查询表xxx表中sth列中值>22的数据($lt——小于,$gte——大等于,$lte——小等于)
12. db.xxx.find({sth: {$gte: 23, $lte: 26}}) 查询xxx表中sth列大等于23且小等于26的数据。
13. db.xxx.find({sth: /mongo/}) 查询xxx表中包含mongo的数据
14. db.xxx.find({sth: /^mongo/}) 查询xxx表中以mongo开头的数据
15. db.xxx.find({}, {sth1: 1, sth2: 1}) 查询xxx表中sth1列和sth2列数据
16. 升序:db.xxx.find().sort({sth: 1})
降序:db.xxx.find().sort({sth: -1}) 按照某一列数据升序或降序排列查询
17. db.xxx.find().limit(5) 查询某表前5条数据
18. db.xxx.find().skip(10) 查询某表10条以后的数据
19. db.xxx.find().limit(10).skip(5) 查询某表5~10之间的数据
20. db.xxx.find({$or: [{sth: 22}, {sth: 25}]}); or查询
21.db.xxx.findOne() 查询某表第一条数据
22. db.xxx.find({sth: {$gte: 25}}).count(); 统计查询数据的数量,如果要返回限制之后的记录数量,要使用 count(true)或者 count(非 0)
23. db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
更新修改数据
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如inc…)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
24. db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
删除数据
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
25.MongoDB可以导入数据为JSON和BSON。BSON是一种特殊的JSON文件,又称为Binary JSON。导入指定文件夹下的数据:mongorestore.exe -d <db_name> <bson_folder/bson_file>,在导入之前,数据库可以不存在,会自动创建。
三、图形化管理界面
Robo 3T:https://robomongo.org/download下载后选择安装文件位置安装,而后打开选择连接即可。
参考博客
- 安装:https://www.cnblogs.com/tonylaoshi/p/11052427.html
- MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查
- https://blog.csdn.net/cckevincyh/article/details/78702674