zoukankan      html  css  js  c++  java
  • MongoDB的安装和基本操作

    .使用前的准备(windows下的安装) 

    1.下载

    目前MongoDB的官网不知道问什么不能进行下载了,但是可以在MongoDB中文论坛进行下载,

    地址如下:http://www.mongoing.com/mongodb-downloads 

    2.安装

    我下载的是msi版本的软件,安装过程中选择自定义方式,可以改变安装的位置,我的安装路径如下:

    安装完成后会出现如下的文件

    3.启动MongoDB

    打开cmd,进入安装好的MongoDBbin目录执行如下命令:

    下面的--dbpath 后的参数就是存放数据的文件夹

     

    4.还可以MongoDB安装成windows服务,可以参考园子里面一个大神的做法:http://www.cnblogs.com/lzrabbit/p/3682510.html

    有点不同的是我看了大神的文章:因为我是第一次安装,所以直接写了下面的命令就安装好了

    D:MongoDBin>mongod.exe --dbpath D:MongoDBData --logpath=D:MongoDBLogmongod

    b.log --logappend --install

    然后就可以在管理工具中的服务中查看我们安装的MongoDB服务了

    5.启动数据库服务的配置文件

     Mongodbwindows下通过配置文件配置和访问

     Mongodb动命令mongod参数说明

    6.通过cmd启动mongodb的客户端

    启动客户端就可以操作数据库了,下面就是一些基本的操作。

     

    .使用Mongodb

    ①创建一个数据库

    use[数据库的名字]

    这个时候如果什么都不做,直接退出的话,这个新创建的数据库就会被删除

     

    ②给数据库添加一个集合,并在集合当中添加一条记录

    Db.[文件名].insert({...})

    > db.Student.Insert({name:"Stu1",age:"15"}) 

    ③查看所有的数据库

    Show dbs

    > show dbs
    
    admin        (empty)
    local        0.078GB
    mongoDBTest  0.078GB
    

    ④查看数据库中的所有文档

    Show collections

    > show collections
    Student
    system.indexes
    

      

    ⑤查看指定文档的数据

    查询所有的数据: db.[文件名].find()

    查询第一条数据: db.[文件名].findOne()

    > db.Student.find()
    { "_id" : ObjectId("56d4ffa1dac7a0ad749f16bf"), "name" : "Stu1", "age" : "15" }
    { "_id" : ObjectId("56d503c7dac7a0ad749f16c0"), "name" : "Stu2", "age" : "18" }
    > db.Student.findOne()
    {
            "_id" : ObjectId("56d4ffa1dac7a0ad749f16bf"),
            "name" : "Stu1",
            "age" : "15"
    }
    >
    

    ⑥更新文档数据(两种方式) 

    1)全更新掉,就是把原来的数据进行覆盖

    方法:

    db.[文件名].update({查询条件},{更新内容})

    例:

    1.先查看一下文件中的记录,这里有两条

    2.创建一个变量,将第一条记录赋给它

    3.进行数据更新

    4.更新后查看变量和更新后的记录

    5.结果,被覆盖了,原来那条数据不见了

    2)使用set修改器

    db.[文件名].update({查询条件},{$set:{更新内容}})

    例如我修改上面那个 Name=Stu1 age=15 的骚年,把他的年纪改成20

    > db.Student.update({name:"Stu1"},{$set:{age:"20"}})
    
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    
    > db.Student.findOne()
    
    {
    
            "_id" : ObjectId("56d4ffa1dac7a0ad749f16bf"),
    
            "name" : "Stu1",
    
            "age" : "20"
    
    }
    
    > 

    sql语句当中的

    update 表名 set age=20 where Name="Stu1" 差不多

    ⑦删除文档中的数据

    db.[文件名].remove({…...})

    > db.Student.remove({job:"Student"})
    WriteResult({ "nRemoved" : 1 })
    > var s = db.Student.find()
    > s
    { "_id" : ObjectId("56d503c7dac7a0ad749f16c0"), "name" : "Stu2", "age" : "18" }
    > 

    ⑧删除数据库的文件

    db.[文件名].drop()

    ⑨删除数据库

    db.dropDatabase()

    补充:

    查看mongodb的方法

    db.help()使用这个函数可以查看

    数据集合命名规范注意点:

    可以给集合起名为 db-test 但是这样的名字,使用db.[文件名]就会出错

    要使用db.getCollectio("文件名")才可以

    例子:

    > db.db-test.insert({name:"123"})
    2016-03-01T11:41:30.032+0800 ReferenceError: test is not defined
    > db.getCollection("db-test").insert({name:"123"})
    WriteResult({ "nInserted" : 1 })
    

      

    mongoDBshell自带javascript引擎,所以可以在shell中编写javascript函数

    例子:

    > function insert(object){ db.getCollection("Student").insert(object); }
    
    > insert({name:"xxxxx"})
    
    > db.getCollection("Student").find()
    
    { "_id" : ObjectId("56d503c7dac7a0ad749f16c0"), "name" : "Stu2", "age" : "18" }
    
    { "_id" : ObjectId("56d51208dac7a0ad749f16c2"), "name" : "xxxxx" }
    
    >

     

    三、总结

    刚刚学习了Mongodb的基本操作,其中有些东西要学习一下

    1.我们看到我们创建一个集合的时候,Mongodb会自动生成一个system.Indexs的集合

    2.每一条记录当中,都会自动生成一个key/value,_idobjectId

    3.每次我插入数据,使用了类似JSON的东西,那个叫做BSON,可以理解是对JSON的扩展

  • 相关阅读:
    BZOJ2219数论之神——BSGS+中国剩余定理+原根与指标+欧拉定理+exgcd
    Luogu 3690 Link Cut Tree
    CF1009F Dominant Indices
    CF600E Lomsat gelral
    bzoj 4303 数列
    CF1114F Please, another Queries on Array?
    CF1114B Yet Another Array Partitioning Task
    bzoj 1858 序列操作
    bzoj 4852 炸弹攻击
    bzoj 3564 信号增幅仪
  • 原文地址:https://www.cnblogs.com/dcz2015/p/5230635.html
Copyright © 2011-2022 走看看