数据库mangodb简要语法

1,362 阅读3分钟

day1

NODEJS

数据库mangodb

1.定义

是一个基于分布式文件存储的非关系型数据库(NoSQL);存储格式为BSON

2.特点

高性能、易部署、易使用,存储数据非常方便。

3.优点

  1. 面向对象存储,易存储对象类型的数据
  2. 模式自由
  3. 支持动态查询
  4. 支持完全索引,包含内部对象
  5. 支持查询
  6. 支出复制和故障恢复
  7. 使用高效的二进制数据存存储,包括大型对象(如视频等)
  8. 自动处理碎片,(垃圾回收机制),以支持云计算层次的扩展性
  9. 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言
  10. 文件存储格式为BSON(一种JSON的拓展)

引申

NoSQL

定义:非关系型数据库。主要用于超大规模的数据存储(抖音,facebook);

组成:数据库=>集合(collection)=>文档(document);

分布式

分布式算法指的是讲一个大型的任务进行分解,将由每一个小任务的执行结果组合起来,返回一个整体。

BSON

定义:BSON是一种类似json的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象数组对象**,但是**BSON有JSON没有的一些数据类型,如Date和BinData类型。

安装MongoDB

  1. 下载:www.mongodb.com/download-ce…

  2. 安装:默认(complete)即可,注意:不要勾选可视化文件。

  3. 安装可视化工具Robo 3T

    配置MongoDB

    目的:为了在dos窗口的任何目录下都能执行mango的命令。

    • 设置环境变量

    • D盘建立文件夹mongodb,并建立子目录db和log,在log下建立一个文件MongoDB.log,把mongodb文件夹的只读属性去掉

    • 管理员cmd,执行 mongod --storageEngine mmapv1 --dbpath "d:\mongodb\db" --logpath "d:\mongodb\log\MongoDB.log"

    • 原来cmd窗口不关闭,以管理员再开一个cmd窗口,输入mongo或者mongo.exe。出现connecting to:text 说明测试通过。

    • 将MongoDB安装为windows服务: 管理员cmd进入bin,执行mongod --storageEngine mmapv1 --dbpath "d:\mongodb\db" --logpath "d:\mongodb\log\MongoDB.log" --install --serviceName "MongoDB",之后执行NET START MongoDB,任务管理器查看进程已经启动。

    • 再次mongo测试连接

      MongoDB基础使用

      1. 常用命令

        1. show dbs显示数据库列表

        2. use dbname 创建数据库,如果数据库存在,则切换到此数据库。创建的数据库并不在数据库的列表中,要显示它就需要向数据库dbname插入一些数据

        3. show collections 显示数据库中的集合

        4. 增加数据方式一: db.web.save({"name":"lisi"}) 创建名为web的集合,并新增一条数据

        5. 增加数据方式二:db.web.insert({"name":"zhangsan"})

        6. 使用主键增加数据:eg:{_id:ObjectId("ddjsdj34424424csf"),"name":"zhaoliu"},主键相同时,save会修改,insert会报错。

        7. 删除数据

          db.users.remove({}) 删除users集合下的所有数据

          db.users.remove({"name":"lisi"}) 删除users集合下的name="lisi"的数据

          db.users.drop()或db.runCommand({"drop":"users"}) 删除 集合users

          db.runCommand({"dropDatabase":1}) 删除当前数据库

        8. 查找数据

          • db.users.find() 查找users集合中的所有数据
          • db.users.findOne() 查找users集合中的第一条数据
          • db.users.find().pretty() 格式化查询到的数据
          • 主要操作符:gt : >;lt : < ; gte : >= ;lte <= ;
          • Sort 排序 ;eg: db.webs.find().sort({age:-1}) 按照年龄倒序排序
          • Limit 类似截取 eg:db.webs.find().limit(2) 截取索引0到2的数据(不包括索引2)
        9. 修改数据

          • db.web.update({"name":"a1"},{$set:{sex:"women"}},true,true) 修改name=a1的数据为sex=women,第一个参数是查找条件,第二个参数是修改内容,主键不能修改,第三个参数表示匹配所有符合条件 的数据,第四个参数表示修改所有匹配到的数据

          MongoDB高级命令