• 二、mongo数据库


    官网:https://www.mongodb.com/

    进入官网 右上角有个下载按钮Download

    1.完成安装后:运行——cmd(命令面板)

    2.常用命令:

    打开数据库

    mongod –dbpath   路径名(安装的路径)

    例如:mongod -dbpath C:mongomongo-data   回车

    注意:mongo_data一定要事先建立(文件建立是空的)

    执行完命令之后 命令行会进入打开数据库状态

    出现端口号表示已连接成功,打开安装的路径

    此时,mongo-data文件夹会自动下载这些文件,无需管它。

    3,然后最小化,一定不要关闭,关闭了下次再打开,必须再次链接安装的路径—— mongod –dbpath   路径名(安装的路径)

     4,重新cmd打开一个命令板,

         (4.1)一个空的命令面板

    (4.2)mongo命令  进入数据库 

    5创建数据库:(use 数据库名 切换到某个数据库(但是此时并不是真正的创建了该数据库直到真的有一条数据插入到该数据库的某个集合中才算是真正的创建了)

    Mongo数据库yuMysql数据库。注意:

    ysql的数据库是由一些表构成的:表的格式是固定的

    表是由一些字段组成的:

    Id

    Name

    Age

    Sex

    School

    Class

    Number

    001

    小牧

    12

    Ackt

    艺术

    01

    002

    小红

    13

    Ackt

    书法

    02

    ……

    ……

    ……

    ……

    ……

    ……

    ……

    Mongo数据库是由一些集合构成的:集合的格式不固定

    Id

    Name

    Age

    Sex

    School

    Id

    Age

    School

    Sdfsd

    Sfdsdf

    ……

    ……

    ……

    ……

    ……

    数据库常用命令:(一般无非就是 增删改查)

    显示所有的数据库:show dbs

    切换当前的数据库:use 数据库名

    功能是 切换当前的数据库

    显示当前数据库下的所有的集合: show collections

    插入数据库

     db.collectionname.insert({“name”:”value”});

    会将{“name”:”value”} 这个json插入到数据库 数据库会自动生成一个id

    插入了数据

    查询数据库:

    db.collectionname.find({});

    {}表示查询的条件 空的json表示无条件查询

    修改数据库:

    db.collectionname.update({“name”:”小牧”},{“name”:”箫木”});

     

    删除数据库:

    现在数据都被删除了

    多行修改:

    使用修改器 $set

    1 当匹配的值有多条的时候,我们想要全部修改,就要用到修改器

    2 db.collectionname.update({条件json},{$set:{“修改后的数据”}},{“multi:true”});

    $inc

    $inc用来修改已有的数值型键值,如果没有该键,则创建一个键后再修改。

    1. 只能用来修改整数 、小数

    1 $set  修改器用来指定一个键值。如果这个键不存在,则创建他,他对更新模式或者用户定义键来说非常方便。

    2 用来修改任意值

    1 $unset修改器用来删除一个键值

    1 $push

    2 用来修改数组,也只能用来修改数组,如果没有该键,则增加一个后再修改。如果有该键,则往数组里追加一个末尾元素

    1 $ne 

    2 用于数组,如果一个值在数组中,则无操作,如果不在,就添加进去

    1 $addToSet

    2 $addToSet也是用来操作数组的修改器,实现的功能与$ne修改器相同,且更为方便。使用$addToSet修改器可以避免重复。

    1 $pull

    2 db.collection.update({“name”:”xiaobai”},{$pull:{“hobby”:”lol”}})

    3 删除数组中的所有指定元素(只能删除单个)

    1 $pop

    2 db.collection.update({“name”:”xiaobai”},{$pop:{“key”:-11}})

    3 移除数组的项,1表示移除最后面的那个元素 -1表示移除最前面的元素

    1 $each

    2 配合$addToSet可以一次将多个项插入到数组

    1 db.collection.update({“name”:”xiaobai”},{“”})

    2 只要该key是数组就可以使用key.1|.2|.3…..来选取该数组的某项

    MongoDB创建数据库和集合命令db.createCollection详解

    切换/创建数据库

     use yourDB;  当创建一个集合(table)的时候会自动创建当前数据库

    完整的命令如下:
    db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>} )


    name:集合的名字
    capped:是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,这个参数没有实际意义
    size:限制集合使用空间的大小,默认为没有限制
    max:集合中最大条数限制,默认为没有限制
    autoIndexId:是否使用_id作为索引,默认为使用(true或false)
    size的优先级比max要高


    常用方法介绍:
    1、一般来说,我们创建集合用db.createCollection(name),如:db.createCollection("log"),创建一个名字为log的集合,没有任何的大小,数量限制,使用_id作为默认索引;

    2、限制集合空间的大小:db.createCollection("log",{size:1024})或db.createCollection("log",{capped:true,size:1024}),创建一个名字为log集合,限制它的空间大小为1M,如果超过1M的大小,则会删除最早的记录;
    3、限制集合的最大条数:db.createCollection("log",{max:1024}),创建一个名字为log集合,最大条数为1024条,超过1024再插入数据的话会删除最早的一条记录。这个不能使用capped:true,否则会报错;
    4、即限制最大条数有限制使用空间大小:db.createCollection("log",{size:1024,max:1024})或db.createCollection("log",{capped:true,size:1024,max:1024}),限制集合最大使用空间为1M,最大条数为1024条

    以上是参考官方文档和实际测试得出的,也可以看出capped参数没有什么用处,用不用都可以。

    MongoDB 的详细介绍请点这里
    MongoDB 的下载地址请点这里

    相关阅读

    MongoDB备份与恢复 http://www.linuxidc.com/Linux/2012-07/64113.htm

    CentOS编译安装MongoDB http://www.linuxidc.com/Linux/2012-02/53834.htm

    CentOS 编译安装 MongoDB与mongoDB的php扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm

    CentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm

    Ubuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm

    如何在MongoDB中建立新数据库和集合 http://www.linuxidc.com/Linux/2013-06/85749.htm

    MongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm

    《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

  • 相关阅读:
    MARK--2020年第一次事故
    MySQL MHA--基于Python实现GTID模式的主从切换
    MySQL Replication--复制延迟排查
    MySQL InnoDB Engine--多版本一致性视图(MVCC)
    MySQL InnoDB Engine--数据页存储和UPDATE操作 2
    MySQL InnoDB Engine--数据页存储和UPDATE操作
    Semantic UI基础使用教程
    sqlserver 批量修改数据库表主键名称为PK_表名
    navicate premium连接sqlserver时报08001错误的解决方法
    checklistbox的使用
  • 原文地址:https://www.cnblogs.com/Trr-984688199/p/6290972.html
Copyright © 2020-2023  润新知