记MongoDB的简单命令

今天对mongodb的简单命令操做学习了一番,作出如下总结。mysql

mongodb数据库的简单操做

mongodb是一个非关系型数据库,它不能像关系型数据库那样进行一些增删改查的操做,咱们须要使用一些特殊的命令来操做mongodb。sql

链接mongodb数据库

链接mongodb有一个固定的语法,可使用以下几种方式mongodb

  • 使用用户名和密码链接登录到默认数据库shell

    $ ./mongo
    MongoDB shell version: 3.0.6
    connecting to: test
    复制代码
  • 使用用户 admin使用密码123456 链接到本地的 MongoDB 服务上数据库

    $ mongodb://admin:123456@localhost/
    复制代码
  • 使用用户名和密码链接登录到指定数据库json

    $ mongodb://admin:123456@localhost/test
    复制代码

建立mongodb数据库

MongoDB 建立数据库的语法格式以下:后端

$ use DataBase_Name
复制代码

注意:若是指定的数据库不存在,则建立数据库,若是数据库存在,则切换到指定数据库bash

删除数据库

MongoDB 删除数据库的语法格式以下app

$ db.dropDatabase()
复制代码

注意: 在此得的db指代的是切换到某一个数据库下面之后的数据库实例sqlserver

建立集合

在mongodb数据库中,之前的表(table)的形式在这里是以集合的形式存在的,MongoDB 中使用 createCollection() 方法来建立集合。语法格式以下:

$ db.createCollection(name, options)
复制代码

说明: name: 要建立的集合名称,options: 可选参数, 指定有关内存大小及索引的选项,具体的options的参数,咱们能够参考下面的表格

字段 类型 描述
capped 布尔 (可选)若是为 true,则建立固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最先的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId 布尔 (可选)如为 true,自动在 _id 字段建立索引。默认为 false。
size 数值 (可选)为固定集合指定一个最大值(以字节计)。若是 capped 为 true,也须要指定该字段。
max 数值 (可选)指定固定集合中包含文档的最大数量。

下面,咱们就尝试去建立一个集合

$ db.createCollection("userInfo", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )
复制代码

说明:在mongodb当中,建立集合并不是是必定的,当咱们向里面去插入一条数据的时候,这个集合就会本身去建立

$ db.userInfo.insert({"userName" : "yangbiao"})删除集合
复制代码

删除集合

MongoDB 中使用 drop() 方法来删除集合。具体的语法格式以下:

$ db.collection.drop()
复制代码

例如,若是咱们想把刚刚建立的usrInfo这个集合删除,则可使用以下语法

$ db.userInfo.drop()
复制代码

插入文档

在此处须要说明一下,之前的关系型数据库(mysql,sqlserver,oracel等数据库),这些都是关系型数据库,存储是以表为单为,表中又以行为单位,而mongodb是一个非关系型数据库,已经没有表与行的概念了

mongodb的集合中,全部的数据都是以json键值对的形式在进行存储,若是咱们但愿向里面去插入一条信息,则至关因而插入一个json键值对(也能够理解为一个js对象),它的语法格式以下

$ db.userInfo.insert({name:'樊启东',sex:'男'})
复制代码

在上面的语句中插入了一行记录,这一行记录是以json键值对的形式插入进去的

更新文档

在mongodb当中,更新文档的方式有两种。

  • (1) save()
  • (2)update()

如今,咱们来看一下这两种方式的语法与区别

  • save方法

    save() 方法经过传入的文档来替换已有文档。语法格式以下

    $ db.collection.save(
       <document,
       {
         writeConcern: <document
       }
    )
    复制代码

    如今看一下具体的语法

    $ db.col.save({
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "我如今经过mongodb插入数据"
    })
    复制代码

    在此,咱们保存的是一个已经存在的文档

  • update方法

    $ db.collection.update(
       <query,
       <update,
       {
         upsert: <boolean,
         multi: <boolean
       }
    )
    复制代码

    说明一下:

    • query: update的查询条件,相似sql update查询内where后面的。

    • update: update的对象和一些更新的操做符(如,inc...)等,也能够理解为sql update查询内set后面的

    • upsert: 可选,这个参数的意思是,若是不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

    • multi: 可选,mongodb 默认是false,只更新找到的第一条记录,若是这个参数为true,就把按条件查出来多条记录所有更新。

    如今,咱们看一下具体的语法格式

    $db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })   # 输出信息
     db.col.find().pretty()
    {
            "_id" : ObjectId("56064f89ade2f21f36b03136"),
            "title" : "MongoDB",
            "description" : "我经过update写入的数据",
    }
    复制代码

    经过对上面命令的总结,逐渐对非关系型数据库有了必定的认知和熟悉,但愿可以在接下来的日子里,按部就班,争取早点学会MongoDB,那样就能先后端一把梭哈,为所欲为,还能体验删库跑路的操做啦! (O(∩_∩)O哈哈~,固然是不可能的)

相关文章
相关标签/搜索