zoukankan      html  css  js  c++  java
  • 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开启命令行,切换到MongoDBin目录下,执行命令mongod --dbpath C:MongoDBdatadb

      10.重新打开一个命令行,切换到 MongoDBin目录下执行命令 mongo

      11.设置mongo服务自动启动:右键点击电脑,点击属性,点击高级系统设置,点击环境变量,在用户变量里面找到path,点击编辑,把bin目录的路径地址添加到最后面,这样在电脑的任意路径都可以直接执行 mongo

      12. windows+R,输入 services.msc,打开服务,找到MongoDB,这是安装的时候自动创建的。点击启动,会报错;

        windows+Q,输入 cmd, 右键点击命令提示符,点击以管理员身份运行,命令行会显示管理员;

        执行命令sc delete MongoDB, MongoDB状态变为了禁用;切换到C:MongoDBdata,新建log文件夹;

        执行命令mongod --dbpath C:MongoDBdatadb --logpath C:MongoDBdatalogmongo.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
    本文为博主原创文章,未经博主允许禁止转载,需转载请注明出处,欢迎指正!
  • 相关阅读:
    元素和容器, Model and View
    KeyboardHook in C#
    项目步骤
    对编程的思考
    Web开发中使用数据库的3种方式
    动态得到属性的名字
    WPF Databinding examples
    【SPOJ】220 Relevant Phrases of Annihilation
    【FOJ】2075 Substring
    【UVa】760 DNA Sequencing
  • 原文地址:https://www.cnblogs.com/caoer/p/13612362.html
Copyright © 2011-2022 走看看