• MongoDB基本操作


    一、操作mongodb数据库

      1、创建数据库

        语法:use 数据库名

        注意:如果数据库不存在则创建数据库,否则切换到指定的数据库

        注意2:如果刚创建的数据库不在列表内,想要显示它,需要向这个数据库插入一些数据

        ( db.student.insert({name:"tom",age:18,gender:1,address:"北京",isDelete:0}) )

      2、删除数据库

        前提:使用当前数据库

        db.dropDatabase

      3、查看所有数据

        语法:show dbs

      4、查看当前正在使用的数据库

        a、db

        b、db.getName()

      5、断开连接

        exit

      6、查看命令api

        help

    二、集合操作

       1、查看当前数据库下有哪些集合

        show collections

      2、创建集合

        a、语法:db.createCollection("集合名")

        b、语法:db.集合名.insert(document)

           示例:db.student.insert({name:"tom",age:18,gender:1,address:"北京",isDelete:0})

        区别:两者的区别在于前者创建的是一个空的集合,后者创建一个空的集合并添加一个文档

      3、删除当前数据库中的集合

        语法:db.集合名.drop()

    三、文档操作

      1、插入文档

        a、使用 insert() 方法插入文档

           语法:db.集合名.insert(文档)

           插入一个:db.student.insert({name:"张雷",age:18,gender:1,address:"北京",isDelete:0})

           语法:db.集合名.insert([文档1,文档2,...])

           插入多个:db.student.insert([{name:"阿思",age:18,gender:0,address:"广州",isDelete:0},{name:"韩梅梅",age:18,gender:0,address:"上海",isDelete:0}])

           注意:插入多个时,要加中括号 [ ]

        b、使用 save() 方法插入文档(很少用到)

          语法:db.集合名.save(文档)

          说明:如果不指定_id 字段,save() 方法类似于 insert() 方法。如果指定_id 字段,则会更新 _id 字段的数据,相当于修改数据

          示例1:db.student.save({name:"张雷",age:18,gender:1,address:"北京",isDelete:0})

          示例2:db.student.save({_id:ObjectId("id号"),name:"张雷",age:18,gender:1,address:"北京",isDelete:0})

      2、修改文档

        a、update() 方法用于更新已存在的文档

          语法:

    db.集合名.update(
        query,
        update,
        {
            upset:<boolean>,
            multi:<boolean>,
            writeConcern:<document>
        }
    )        

          参数说明:

            query:查询条件,类似于sql语句中update语句内where后面的内容

            update:update的对象和一些更新的操作符($set,$inc)等,$set 直接更新,$inc 在原有的基础上累加后更新

            upset:可选项,如果不存在 update 的记录,是否当新数据插入,true 为插入,False 为不插入,默认为False

            multi:可选项,mongodb默认是False,只更新找到的第一条记录;如果这个参数为true,就按照条件查找出来的数据全部更新

            writeConcern:可选项,抛出异常的级别

          需求1:将 tom 的年龄更新为25

          示例1:db.student.update({name:"tom"},{$set:{age:25}})

          需求2:将所有的 tom 的年龄更新为22

          示例2:db.student.update({name:"tom"},{$set:{age:22}},{multi:true})

        b、save() 方法通过传入的文档替换已有的文档(很少用到)

          语法

    db.集合名.save(
        document,
        {
            writeConcern:<document>
        }
    )

          参数说明:

            document:文档数据

            writeConcern:可选项,抛出异常的级别

      3、删除文档

        说明:在执行 remove() 函数前,先执行 find() 命令来判断执行的条件是否存在是一个良好的习惯

        语法:

    db.集合名.remove(
        query,
        {
            justOne:<boolean>
            writeConcern:<boolean>
        }
    )

        参数说明:

          query:可选项,删除的文档的条件

          justOne:可选项,如果为true或1,则只删除一个文档

          writeConcern:可选项,抛出异常的级别

        示例:db.student.remove({name:"tom"})

      4、查询文档

        a、find() 方法,查询集合下所有的文档(数据)

           语法:db.集合名.find()

        b、find() 方法查询指定列

           语法:

    db.集合名.find(
        query,
        {
            <key1>:1,
            <key2>:1
        }
    )

           参数说明:

             query:查询条件

             key:要显示的字段,1表示显示

           示例:

             db.student.find({gender:0})

        c、pretty() 方法以格式化的方式来显示文档

          语法:db.集合名.find().pretty()

        d、findOne() 方法查询匹配结果的第一条数据

          语法:db.集合名.findOne({gender:0})

      5、查询条件操作符

        作用:条件操作符用于比较两个表达式并从MongoDB集合中获取数据

        a、大于 - $gt

          语法:db.集合名.find({<key>:{$gt:<value>}})

          示例:年龄大于20,db.student.find({age:{$gt:20}})

        b、大于等于 - $gte

        c、小于 - $lt

        d、小于等于 - $lte

        e、大于等于 和 小于等于 - $gte 和 $lte

          语法:db.集合名.find({<key>:{$gte:<value>,$lte:<value>}})

        f、等于 - :

          语法:db.集合名.find({<key>:<value>})

        g、使用 _id 进行查询

          语法:db.集合名.find({"_id":ObjectId("Id值")})

        h、查询某个结果集的数据条数

          语法:db.集合名.find().count()

        i、查询某个字段的值当中是否包含另一个值

          需求:查询学生名字中包含 ile 字段的

          示例:db.student.find({name:/ile/})

        j、查询某个字段的值是否以另一个值开头

          需求:查询学生名字中以 li 开头的

          示例:db.student.find({name:/^li/})

      6、条件查询 and 和 or

        a、AND 条件

          语法:db.集合名.find({条件1,条件2,……,条件n})

          需求:查找大于16岁的女生

          示例:db.student.find({gender:0,age:{$gt:16}})

        b、OR条件

          语法:

    db.集合名.find(
        {
            $or:[{条件1},{条件2},……,{条件n}]
        }
    )

          需求:查找年龄是 17 的或者是 20 的

          示例:db.student.find({$or:[{age:17},{age:20}]})

        c、AND和OR联合使用

          语法:

    db.集合名.find(
        {
            条件1,
            条件2,
            $or:[{条件1},{条件2},……,{条件n}] 
      }
    )

      7、limit 和 skip

        a、limit():读取指定数量的数据记录

          语法:db.集合名.find().limit(想要查看的个数)

        b、skip():跳过指定数量的数据

          语法:db.集合名.find().skip(个数)

        c、skip 和 limit 联合使用:通常用这种方式来实现分页功能

          示例:db.student.find().skip(3).limit(3)

          解释:跳过3条,看下面的3条,实现分页功能

      8、排序

        语法:db.集合名.find().sort({字段名:1|-1})  注意:1表示升序,-1表示降序

        需求:查询学生信息,年龄按升序排序

        示例:db.student.find().sort({age:1})

  • 相关阅读:
    Windbg 基本调试常识(转)
    善用VS中的Code Snippet来提高开发效率
    如何跟踪调试Software product?
    Visual Studio 2008 每日提示(二十七)
    6步确保 windbg 成功调试 .net(转)
    Visual Studio 2005 重置设置
    Print to Output /To trace runtime
    Windbg安装和配置(转)
    C++与C#交互
    All hands on deck
  • 原文地址:https://www.cnblogs.com/Rain2017/p/10296802.html
Copyright © 2020-2023  润新知