zoukankan      html  css  js  c++  java
  • MongoDB基本操作

    基本操作

    show dbs;                  #查看全部数据库
    
    show collections;          #显示当前数据库中的集合(类似关系数据库中的表)
    db.collection.drop() #删除集合 show tables; #与show collections;等价 show users; #查看当前数据库的用户信息 use
    <db name>; #切换数据库跟mysql一样 db;或者db.getName(); #查看当前所在数据库 db.help(); #显示数据库操作命令,里面有很多的命令 db.testoo.help(); #显示集合操作命令,同样有很多的命令,testoo指的是当前数据库下,一个叫testoo的集合(表),并非真正意义上的命令 db.testoo.find(); #对于当前数据库中的testoo集合进行数据查找(由于没有条件,会列出所有数据) db.testoo.find( { a : 1 } ); #对于当前数据库中的testoo集合进行查找,条件是数据中有一个属性叫a,且a的值为1 db.testoo.find().sort({"_id":1}).pretty() #打印排序且更漂亮 db.test.remove({'age':18}) #删除匹配的集合

    创建一个test数据库例子:

    > use test;             #创建数据库,如果test库存在则是切入test库,不存在则是创建test库,但后面需要马上创建表之类,否则会被自动清理
    switched to db test
    > db;               
    test
    > show dbs;           #检查数据库
    admin 0.000GB
    local 0.000GB
    
    > db.test.insert({"_id":"520","name":"xiaoming"})      #创建表,插入,其中如_id不进行定义,则会自动生成。db.test.save 方法也可以,是修改及新增
    #插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
    > db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})        #创建用户
    Successfully added user: {
    "user" : "xiaoming",
    "roles" : [
    {
    "role" : "userAdmin",
    "db" : "test"
    }
    ]
    }
    db.removeUser("userName");         #删除用户
    show users;                        #显示当前所有用户
    db.dropDatabase();   #删除当前使用数据库
    > show dbs;
    admin 0.000GB
    local 0.000GB
    test 0.000GB
    test_1 0.000GB
    
    > db;
    test_1
    
    > db.dropDatabase();
    { "dropped" : "test_1", "ok" : 1 }
    
    
    > show dbs;
    admin 0.000GB
    local 0.000GB
    test 0.000GB

    db.user.update()   #更新集合内容

    db.collection.update(    
        <query>, 
        <update>, 
        {       
            upsert: <boolean>,   
            multi: <boolean>,  
            writeConcern: <document>
        }
    )

      参数说明:

    
    
    • query : update的查询条件,类似sql update查询内where后面的。
    • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。
    > db.user.update({age:23},{$set:{age:24}},{multi:true})   #加入{multi:true}可以同时修改匹配到的多条,如果不加只改匹配到的第一条。

    db.stats()  #显示当前db的状态

    > db.stats()
    {
        "db" : "test",
        "collections" : 2,
        "views" : 0,
        "objects" : 3,
        "avgObjSize" : 47.666666666666664,
        "dataSize" : 143,
        "storageSize" : 49152,
        "numExtents" : 0,
        "indexes" : 2,
        "indexSize" : 49152,
        "fsUsedSize" : 11510308864,
        "fsTotalSize" : 18569568256,
        "ok" : 1
    }

    db.version()   #当前db版本

    > db.version()
    4.0.1

    db.getMongo()  #查看当前db的链接机器地址

    > db.getMongo()
    connection to 127.0.0.1:27017

    开启远程访问

    编辑配置文件:vi /etc/mongod.conf
    bindIp: 172.16.xx.xxx      #数据库所在服务器IP地址
    保存重启数据库!
    > ./mongo 172.16.xx.xxx:27017/admin  -u user  -p  password
  • 相关阅读:
    使用QT在子线程中访问串口
    小程序批量上传图片方案
    Jenkins自动化远程部署(vue-github)
    nginx配置https证书
    Linux 安装php7
    Vue技术点整理-指令
    如何保证接口的幂等性?
    mybatis 一对多分页查询数据条数不匹配解决
    源码系列-JDK-String
    kafka window 操作
  • 原文地址:https://www.cnblogs.com/uphold/p/12416142.html
Copyright © 2011-2022 走看看