mongoDB(数据库)

MongoDB

mongoDB是由C++语言编写的一种基于分布式文件存储的开源数据库系统.

  • 可以在高负荷的情况下,添加更多的节点,来保证服务器性能
  • 为WEB应用提供可扩展的高性能数据存储解决方案
  • MongoDB将数据存储为一个文档,数据结构由键值对(key-->value)组成,类似于JSON对象.
{
    "id" : "10021-2015-ENFO",
    "certificate_number" : 9278806,
    "business_name" : "ATLIXCO 
    "result" : "No Violation Issued", 
    "address" : {
        "city" : "RIDGEWOOD",
        "zip" : 11385,
        "street" : "MENAHAN ST",
        "number" : 1712
    }
}

下载安装:
官方网站 官方文档 中文文档
注意: 如果是win7系统,在安装后出现无法使用的现象需要安装补丁KB2731284


软件安装后还需要配置环境变量

配置环境变量

  1. 找到安装目录下的MongoDB文件夹


    mongoDB(数据库)_第1张图片
  2. 点击进入后按照顺序依次进入指定的文件夹
    mongoDB(数据库)_第2张图片

3.获取bin文件下的路径

mongoDB(数据库)_第3张图片
鼠标点击此处Ctrl+C复制路径(注意:每个人的安装路径不同,请不要复制该路径)
4. 点击桌面计算机图标,右键后点击属性,进入控制面板中,点击高级系统设置
mongoDB(数据库)_第4张图片
5. 在系统属性窗口选择高级,再点击环境变量
mongoDB(数据库)_第5张图片
6. 在环境变量中设置系统变量中的Path值
mongoDB(数据库)_第6张图片
7. 在编辑窗口中变量值的最后面先添加一个分号“;”,在把前面第三步获取的路径粘贴到分号的后面,点击确定、确定、确定。
mongoDB(数据库)_第7张图片

8.配置好环境变量,可以检测一下,打开CMD,输入 mongo,如果输出以下数据就代表配置成功。


数据库预备进入命令

  1. 启动数据库
  2. 在CMD黑窗口中输入: monogod --dbpath 数据库存放路径
    mongoDB(数据库)_第8张图片
    注意: 此窗口需要一直开启,不能关闭。否者数据库也会跟着关闭服务。
  3. 再开启一个cmd窗口输入:mongo 显示为:
    mongoDB(数据库)_第9张图片
  4. 在mongo开启的模式中输入指令
    mongoDB(数据库)_第10张图片
    指令输入在 > 符号后面,就是上图红圈圈住的地方

一般指令

  • db //查询当前的数据库,如果没有设置,显示test(默认)

  • show dbs //查询全部的数据库,一个MongoDB中可以建立多个数据库,且每个数据库种都可以拥有自己的集合,不同的数据库存放在不同的文件中。

  • use 数据库名称

    • 数据库名称当前不存在,就是创建一个新的数据库
    • 数据库名称已经存在,就是切换该数据库到工作状态
  • db.student.insert({"name":"小强"});

    • 参数student为:数据库的集合名
    • {"name":"小强"}是我们要向数据库中添加的JSON数据
  • db.dropDatabase()

    • 删除当前所在的数据库 慎用,和Linux中的 rm -rf /类似

注意:当使用use创建数据库时,并没有真正的创建好一个数据库,只有往这个数据库中添加了数据后,这个数据库才会真正存在。


前面主要是一些基础指令和处理一些小数据时用到的指令。下面说下引入外部数据的一些方法。

引入外部数据指令

  • mongoimport --db semygo --collection student --drop --file c:\data.json//引入数据指令
    • --db :指定要导入数据的数据库,如果该数据库没有,就会以semygo为名称创建一个数据库
    • --collection :指定导入数据的数据库集合,如果在当前数据库中没有student集合,就以该名称创建一个新的集合。
    • --drop :如果当前数据库中拥有数据,就清空数据,如果没有则--drop可以省略不写
    • --file :要导入数据的文件路径

注意:该指令不能在mongo指令模式(个人理解)下输入,它相当于一种文档模式(个人理解)下的指令,想要执行该指令,需要先退出mongo指令模式,在mong指令模式下按下Ctrl+C键就可以退出。

在红箭头处再输入引入数据指令。


注意:凡是操作数据的指令都是在mongo指令模式下输入执行的

查询数据(文档)

  • 查询所有数据指令:db.student.find({});
  • 单个条件查询数据指令:db.student.find({"name":"xiaoqianag"});
  • 多个条件查询数据指令:
    • And条件(多个条件同时成立才会查询)db.student.find({key1:value1,key2:balue2});
    • OR条件(满足一个条件就可以查询) db.student.find({$or:[{key1:value1},{key2:value2}]});
  • 关系条件查询数据


    mongoDB(数据库)_第11张图片

更改数据(文档)

  • db.student.update({kay1:value1},{$set:{s-kay:s-value}});
    • $set必须存在
    • kay,vlaue:为改变前的kay和value字符串值
    • s-kay ,s-value:分别为改变后的kay和value字符串值
    • 该指令只更新满足条件的第一条数据,想要更新满足条件的所有数据,则需要在第二个对象后添加multi,且参数为true
      • db.student.update({kay1:value1},{$set:{s-kay:s-value}},{multi:true});

删除数据(文档)

  • MongoDB remove()
    db.student.remove({'name':'小强'},1)
    • 用来移除数据库集合中的数据
    • 参数 student:数据库中的集合
    • 删除所有数据指令:db.student.remove({})
    • 删除一整个集合指令:db.student.drop()
  • 注意:
    1. 在执行remove()函数前先执行find()命令来判断执行的条件是否正确。
    2. remove()默认是删除匹配的所有数据,它可以有两个参数,其中第二个参数是一个Bool值,如果设为true或1,就只删除一个数据(首位)

你可能感兴趣的:(mongoDB(数据库))