zoukankan      html  css  js  c++  java
  • MongoDB的使用

    今天是进入公司的第一天,得到了一台配置好了所有环境的电脑。

    用eclipse打了一遍helloword之后,尝试使用了一下idea。

    idea新建project,在指定工程路径的时候,选定的文件夹应当事先建立好。(否则,idea会提示该文件夹不存在,自动创建此文件夹,若是这样的话,编译的时候idea会报错------无法找到或加载main)

    之后同组的头儿给我发了个MongoDB的文档,让我适应下新的数据库。

    上网找了下安装、环境变量配置、服务配置的方法。发现电脑上已经安装好了MongoDB,根据环境变量路径找到了安装的文件夹。

    打开交互页面实验语句的时候,刚开始就遇到了挫折。

    ------show dbs提示权限不足。

    上网找了下,Mongodb在第一次进入的时候,可以添加超级管理员用户,而之后使用数据库就需要登录相关的用户才能获得权限。

    但是我不知道之前使用这个电脑的人设置了一些什么账号。

    找到的解决方法是,安装目录下的配置文件mongo.config中有一个属性是“auth=true”,这个代表使用授权模式启动服务。

    把true改成false,然后重启数据库服务。

    重新打开就可以自己添加用户,添删改查测试用的集合了。

    ======================================================================================================

    这里写一些MongoDB的基本操作:

     show dbs //显示所有数据库

     use test //使用指定的数据库,这里的test是数据库的名字

     show collections //显示当前数据库的所有集合(mongodb中的集合相当于sql中的table)

     db.dropDatabase() //删除数据库

     db.test.drop() //删除集合test

    -------------------------------------------------------------------------------------------------------------------

    添加:

    (mongodb和sql不一样的地方是,sql会事先设计好表的属性,然后按照属性添加数据;而mongodb更类似于json,是在集合中储存键值对。)

     db.test.insert("name":“陆卯伍”,"age":"21","sex":"male");   //这应该能看懂,值得一提的是mongodb中默认_id为主键,如果没有添加_id,数据库会自动添加。

     db.test.insert("name":“王大锤”,"age":"22","grade":"1");   //如果再次添加的数据,有新的键出现,同样可以添加成功。(不像sql那样添加数据会被提前设计好的表属性限制)

     db.test.insert("_id":"1","name":“王大”,"age":"22");   //如果自己添加_id,那么按照自己添加的数据为准。

    -------------------------------------------------------------------------------------------------------------------

    查找:

     db.test_liuxiangyu.find();   //查找test集合中所有数据(和上面插入的语句表名和数据不太一样,但应该能看懂)(这里test_liuxiangyu是表名)。

     db.test_liuxiangyu.find().pretty();   //格式化查询结果,pretty(),好看嘛。

     db.test_liuxiangyu.find({"name":"liuxiangyu3"}).pretty();   //按照键值对精确查询

     db.test_liuxiangyu.find({"name":"liuxiangyu2"},{"age":"21"});   //相当于sql中  where name=‘liuxiangyu2’ and age=‘21’。

     db.test_liuxiangyu.find({ $or:[ {"name":"liuxiangyu2"},{"name":"liuxiangyu3"} ] }).pretty();   //where  xxx or xxx

     

    从runoob.com上面盗了张图

     更新:

    (偷几张图)

    如:

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

    //这个只更改一行

    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

    //这个更改多行

    删除:

    db.collection.remove(
       <query>, //查询语句
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
    )

  • 相关阅读:
    uva 1606 amphiphilic carbon molecules【把缩写写出来,有惊喜】(滑动窗口)——yhx
    Uva10082 WERTYU -S.B.S.
    Quicksum-S.B.S.
    NOIP2014提高组 DAY1 -SilverN
    NOIP2013普及组 -SilverN
    uva 1354 Mobile Computing ——yhx
    UVa 11292 Dragon of Loowater
    UVa 839 Not so Mobile
    Quicksum -SilverN
    uva 140 bandwidth (好题) ——yhx
  • 原文地址:https://www.cnblogs.com/liumaowu/p/9283932.html
Copyright © 2011-2022 走看看