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

    ---------------------MongoDB基本操作---------------------
    1、MongoDB创建数据库
        use 数据库名:切换到指定的数据库中,在插入第一个条数据的时候,创建对应的数据库。
        show dbs:显示所有的数据库名。
        db:查看当前数据库的名称。
        show collections:查看当前db所有的collections。
        db.集合名.insert({"name":"python"}):为指定的集合添加一条数据。
     
    2、MongoDB删除数据库
        db.dropDataBase():删除当前数据库。
     
    3、MongoDB创建集合
        db.createCollection(name,options):
        参数                               类型                  描述
        Name                            String               要创建的集合名称
        Options                        Document        (可选)指定有关内存大小和索引选项
     
        字段                              类型                   描述
        capped                        Boolean            (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自 动覆盖最早的条目。如果指定true,则需要也指定size字段。
        autoIndexID         Boolean            (可选)如果为true,自动创建索引_id字段, 默认值是false。
        size                number            (可选)指定集合最大可使用字节。如果封顶如果是 true,那么你还需要指定这个字段。
        max                  number            (可选)指定封顶集合允许在文件的最大数量。Size限制优先于此限制。如果一个封顶集合达到大小size限制,未达到文件的最大数量,MongoDB删除旧的文件。如果您更喜欢使用max,确保为上限的集合所需的大小限制,足以包含文档的最大数量。
     
        例:db.createCollection("log",{ capped : true, size : 5242880, max : 5000 } )
     
    4、MongoDB删除集合
        db.集合名.drop()
     
    5、MongoDB数据类型
        1、String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
        2、Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
        3、Boolean : 此类型用于存储一个布尔值 (true/ false) 。
        4、Double : 这种类型是用来存储浮点值。
        5、Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。
        6、Arrays : 使用此类型的数组或列表或多个值存储到一个键。
        7、Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
        8、Object : 此数据类型用于嵌入式的文件。
        9、Null : 这种类型是用来存储一个Null值。
        10、Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
        11、Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
        12、Object ID : 此数据类型用于存储文档的ID。
        13、Binary data : 此数据类型用于存储二进制数据。
        14、Code : 此数据类型用于存储到文档中的JavaScript代码。
        15、Regular expression : 此数据类型用于存储正则表达式。
     
    6、MongoDB插入文档
        插入数据可以使用insert()和save():
        db.集合名字.insert(行数据信息)。
        例:
        db.mongoDBtest.insert(
            {
                 title: 'MongoDB Overview',
                 description: 'MongoDB is no sql database',
                 by: 'tutorials itcast',
                 url: 'http://www.itcast.cn',
                 tags: ['mongodb', 'database', 'NoSQL'],
                 likes: 100
            }
        )
     
     
    7、MongoDB查询文档
        1、查询:
        db.集合名.find():查询当前集合的数据信息。
        db.集合名.findOne():查询当前集合的第一条数据信息。
        pretty():结果显示在一个格式化的方式。
     
        2、AND的使用:
            在 find() 方法,如果通过多个键分离',',那么 MongoDB 处理 AND 条件
            语法:db.mongoDBtest.find({key1:value1, key2:value2}).pretty()
     
        3、OR的使用
            OR条件的基础上要查询文件,需要使用$or关键字。
            >db.mongoDBtest.find(
               {
                  $or: [
                     {key1: value1}, {key2:value2}
                  ]
               }
            ).pretty()
     
        4、AND和OR一起使用
            db.mongoDBtest.find({
                key1:value1,
                $or:[
                    {key1:value1},{key2:value2}
                ]
            }).pretty()
     
        5、MongoDB limit与skip方法
            limit:显示指定多少条数据。
            skip:跳过指定多少条数据。
            db.mongoDBtest.find().limit(10).skip(100):显示100-110条数据
     
        6、MongoDB 投影
            投影意思是查询到的返回结果中,只选择必要的字段,而不是选择一个文档的整个字段。
            如果一个文档有5个字段,需要显示只有3个,投影其中3个字段即可。
            语法:
            db.mongoDBtest.find({},{"name":1,_id:0})
     
        7、MongoDB 排序
            语法
            sort()方法基本语法如下所示:
            >db.集合名.find().sort({KEY:1})
            sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。
     
        8、MongoDB 求Count
            使用count()方法对数据统计个数
            语法
            count()方法基本语法如下所示:
            >db.集合名.find({}).count()
            或者
            db.集合名.count({})
            > db.mongoDBtest.find({'likes':{'$gt':20}}).count()
     
        9、MongoDB 求distinct
            使用distinct()方法对数据进行去重统计
            语法
            distinct()方法基本语法如下所示:
            >db.集合名.distinct('key',{})
            > db.mongoDBtest.distinct('title',{'likes':{'$gt':20}})
     
    8、MongoDB更新文档
        1、MongoDB 使用 update() 和 save() 方法来更新集合中的文档。
        2、语法:
            update() 方法的基本语法如下
     
            db.mongoDBtest.update(
               <query>,
               <update>,
               {
                 upsert: <boolean>,
                 multi: <boolean>,
                 writeConcern: <document>
               }
            )
        3、语法中对应的参数介绍:
            query : update的查询条件,类似sql update查询内where后面的。
            update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
            upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
            multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
            writeConcern :可选,抛出异常的级别。
     
        4、例:
          >db.mongoDBtest.update({'by':'tutorials itcast'},{$set:{'by':'itcast'}},{multi:true})
     
    9、MongoDB删除文档
        1、MongoDB remove()函数是用来移除集合中的文档。
        2、语法
            基本语法remove()方法如下
     
            db.collection.remove(
               <query>,
               {
                 justOne: <boolean>,
                 writeConcern: <document>
               }
            )
        3、参数说明:
            query :(可选)删除的文档的条件。
            justOne : (可选)如果设为 true 或 1,则只删除一个文档。默认false
            writeConcern :(可选)抛出异常的级别。
        4、例:
            db.myLimit.remove({"_id" : {$gt:0}},1)   
  • 相关阅读:
    《大型网站技术架构:核心原理与案例分析》阅读笔记三
    《大型网站技术架构:核心原理与案例分析》阅读笔记二
    《大型网站技术架构:核心原理与案例分析》阅读笔记一
    《用户故事与敏捷方法》阅读笔记三
    软件需求与分析课堂讨论一
    信息领域热词分析
    datax的第一次使用
    质量属性2——质量六大属性之可用性在代码端的实现
    质量属性1——《淘宝网》
    阅读笔记之——《架构漫谈》四
  • 原文地址:https://www.cnblogs.com/qingtianyu2015/p/5944212.html
Copyright © 2011-2022 走看看