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下载后选择安装文件位置安装,而后打开选择连接即可。

参考博客

  1. 安装:https://www.cnblogs.com/tonylaoshi/p/11052427.html
  2. MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查
  3. https://blog.csdn.net/cckevincyh/article/details/78702674
posted @ 2020-09-04 10:25  Caoer199  阅读(126)  评论(0编辑  收藏  举报