• DB数据库的基本操作


    启动 MongoDB 服务 
    sudo service mongodb start

    进入 MongoDB 命令行操作界面,在命令行中敲 exit 可以退出。
    mongo

    创建数据库 
    use

    db 命令查看您当前选择的数据库:
    show dbs 命令查看所有的数据库

    删除数据库
    语法:db.dropDatabase()
    > show dbs      # 显示当前系统中的所有数据库
    > use Chenshi   # 转到Chenshi数据库
    switched to db Chenshi
    > db.dropDatabase()
    {"dropped":"Chenshi","ok":1}
    > show dbs

    创建集合
    语法:db.createCollection(name,options)

    参数描述:

    name:创建的集合名称
    options:是一个作为初始化的文档(可选)
    > db.createCollection("shiyanlou") #无参数
    { "ok" : 1 }
    > show collections
    shiyanlou
    system.indexes
    > db.createCollection("shiyanlou2",
     { capped : 1, autoIndexId : 1, size : 6142800, max : 10000 } ) #带参数
    { "ok ": 1 }
    参数描述:

    capped:类型为 Boolean,如果为 true 则创建一个固定大小的集合,当其条目达到最大时可以自动覆盖以前的条目。在设置其为 true 时也要指定参数大小;
    autoIndexId:类型为 Boolean,默认为 false,如果设置为 true,则会在 _id 字段上自动创建索引;
    size:如果 capped 为 true 则需要指定,指定参数的最大值,单位为 byte;
    max:指定最大的文档数。
    在 Mongodb 中也可以不用创建集合,因为在创建文档的时候也会自动的创建集合。

    插入文档
    语法:db.COLLECTION_NAME.insert(document)
    > userdoc1=({"user_id":1,"name":"cloud","state":"active","actor":"user","e-mail":"test@qq.com","VM_num":2,"time":[{"date":"2014-08-12","hour":"10:53 PM"}] })
    > userdoc2=({"user_id":2,"name":"testadmin","state":"active","actor":"admin","e-mail":"test@qq.com","VM_num":2,"time":[{"date":"2014-08-11","hour":"06:34 AM"}] })
    > doc1=({"name":"peter","position":"teacher"})    #先定义文档

    > use Chenshi
    switched to db Chenshi
    > db.shiyanlou.insert(userdoc1)
    WriteResult({"nInserted":1})
    > db.shiyanlou.insert(userdoc2)
    WriteResult({"nInserted":1})
    > db.shiyanlou.insert(doc1)
    WriteResult({"nInserted":1})

    替换已存在的文档
    语法:db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
    操作实例:

    > db.shiyanlou.save({"_id":ObjectId("53ea174ccb4c62646d9544f4"),"name":"Bob","position":"techer"})
    WriteResult({"nMatched":1,"nUpserted":1,"nModified":1})

    更新文档
    语法:db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)
    操作实例:

    > db.shiyanlou.update({"user_id":2,"e-mail":"test@qq.com"},{$set:{"e-mail":"group@qq.com"}})
    WriteResult({"nMatched":1,"nUpserted":1,"nModified":1})
    > db.shiyanlou.find()
    将 user_id=2 的文档的 e-mail 改为 group@qq.com
    第一个大括号内容标示查找条件,第二个大括号内容则表示更新后的数据
    默认的 update 函数只对一个文档更新,如果想作用所有文档,则需要加入 multi:true
    操作实例:

    db.shiyanlou.update({"e-mail":"test@qq.com"},{$set:{"e-mail":"group@qq.com"}},{multi:true})

    删除文档
    语法:db.COLLECTION_NAME.remove(DELECTION_CRITERIA)
    > db.shiyanlou.remove({"name":"Bob"})
    WriteResult({"nRemoved":1})
    其实 remove 函数的参数跟 update 函数的第一个参数一样,相当于查找条件,注意,不要误删!

    删除后可以用查找命令确认数据
    > db.shiyanlou.find()

    总结
    createCollection():创建集合
    db.COLLECTION.drop(http://www.amjmh.com/v/):删除集合
    db.COLLECTION_NAME.insert(document):插入文档
    db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA):更新文档
    db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}):替换已存在的文档
    db.COLLECTION_NAME.remove(DELECTION_CRITERIA):删除文档
    ---------------------

  • 相关阅读:
    Vue 静态资源文件下载 以pdf为例
    高德地图POI搜索
    矩阵转置(二维列表行列互换)
    列表动态填加元素
    关于判断值为None的处理
    第2章 小程序项目结构配置
    Python 基础编码风格
    Visual Studio — 模块计算机类型“x64”与目标计算机类型“x86”冲突
    Visual Studio — 无法解析的外部符号的几种可能
    Visual Studio — 包含目录、附加包含目录、库目录、附加库目录、附加依赖项之详解
  • 原文地址:https://www.cnblogs.com/ly570/p/11335170.html
Copyright © 2020-2023  润新知