• MongoDB基本操作


    MongoDB操作

    创建数据库 :

    use database_name

      如果数据库不存在就创建数据库, 存在就切换到指定的数据库.

    查看所有的数据库 :

    show dbs

    查看当前所在数据库 :

    db

    然而 :

      

      上图中查看当前所在的数据库是: test, 但是show dbs时却没有test库. 这是因为test库是空的.

      注意 : 在MongoDB中, 集合(表)只有在插入内容之后才会创建!!! 创建集合之后要再插入一个文档(记录), 集合才会真正的创建.

      注意2 : MongoDB中默认的数据库为test, 如果没有创建新的数据库, 集合将存放在test数据库中.

    删除数据库 :

    db.dropDatabase()

      删除当前数据库, 默认为test, 可以使用db命令查看当前所在的数据库.

    创建集合(表) :

      MongoDB中使用createCollection()方法来创建集合.

    db.createCollection(name, options)
    #参数说明
        # name : 要创建的集合名称
        # options : 可选参数, 指定有关内存大小及索引的选项

      options可以是如下参数 :

    字段 类型 描述
    capped 布尔

    (可选)如果为true, 则创建固定集合. 固定集合是指有着固定大小的集合, 当到达最大值时, 它会自动覆盖最早的文档.

    当该值为true时, 必须指定size参数

    autolndexld 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false
    size 数值 (可选)为固定集合指定一个最大值(以字节计)。
    如果 capped 为 true,也需要指定该字段
    max 数值 (可选)指定固定集合中包含文档的最大数量

        在插入文档时, MongoDB首先检查固定集合的size子弹, 然后检查max字段

    删除集合 :

      MongoDB使用drop()方法删除集合

    db.collection.drop()

      返回值 :

        如果成功删除选定集合, 则drop()方法返回true, 否则返回flase

    增加和查看文档(数据) :

      MongoDB使用insert()或者save()方法向集合中插入文档

    db.COLLECTION_NAME.insert(document)

      上图中d是集合名, 如果该集合不存在数据库中, MongoDB会自动创建该集合并插入文档

      db.d.find()命令是查看文档的命令, 意思即为 : 查看d集合(表)的全部文档(数据)

      也可以将预添加数据赋值给一个变量, 进行变量

    # 官方推荐写法
    # 插入单条数据
    db.表名.insertOne({name:"xxx",age:xx})
    # 插入多条数据
    db.表名.insertMany([{name:"xxx",age:xx},{name:"xxx",age:xx}])

    更新文档 :

      MongoDB 使用 update() 和 save() 方法来更新集合中的文档

      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 :可选,抛出异常的级别

       以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true

    # 官方推荐写法
    db.表名.updateOne({age:200},{$set:{name:"200",borthday:new Date()}}) # 将age=200的数据, 更新为name=200, borthday:new Date()
    db.表名.updateMany({age:{$gt:0}},{$set:{age:200}}) # 将年龄大于0的更新为年龄=200

      save()方法 : 通过传入的文档来替换已有文档

    db.collection.save(
       <document>,
       {
         writeConcern: <document>
       }
    )
    
    # 参数说明
    # document : 文档数据。
    # writeConcern :可选,抛出异常的级别

    删除文档(数据) :

      MongoDB remove()函数是用来移除集合中的数据

      MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯

    db.collection.remove(
       <query>,
       <justOne>
    )
    # 如果MongoDB是2.6版本以上的, 语法为 :
    db.collection.remove(
       <query>,
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
    )
    
    # 参数说明 :
    # query :(可选)删除的文档的条件。
    # justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
    # writeConcern :(可选)抛出异常的级别
    # 官方推荐写法
    db.表名.deleteOne({name:"xxx"})
    db.表名.deleteMany({name:"xxx"})

     查询文档(数据) :

      MongoDB 查询文档使用 find() 方法

      find() 方法以非结构化的方式来显示所有文档

    db.表名.find(query, projection)
    # 参数说明
    # query :可选,使用查询操作符指定查询条件
    # projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)
    --------------------------------------------------------------------------------
    # 如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
    db.表名.find().pretty()
    # pretty() 方法以格式化的方式来显示所有文档

    MongoDB的and条件 :

      MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件

    db.表名.find({key1:value1, key2:value2}).pretty()
    ---------------------------------------------------------------
    类似于where语句: where key1=value1 and key2=value2

    MongoDB的in条件 :

    # 符合其中一个条件就好
    db.表名.find({age:{$in: [1,2,3,4]}})

    MongoDB的all条件 :

    # 查询条件必须全部在被查询内容内
    db.表名.find({age:{$all: [1,2,3,4]}})

    MongoDB的or条件 :

      MongoDB OR 条件语句使用了关键字 $or,语法格式如下

    db.表名.find(
       {
          $or: [
             {key1: value1}, {key2:value2}
          ]
       }
    ).pretty()

    MongoDB条件操作符 :

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

      MongoDB中条件操作符有:

      • (>) 大于 - $gt
        db.表名.find({字段名: {$gt : 100}})
      • (<) 小于 - $lt
        db.表名.find({字段名: {$lt: 100}})
      • (>=) 大于等于 - $gte
        db.表名.find({字段名: {$gte : 100}})
      • (<= ) 小于等于 - $lte
        db.表名.find({字段名: {$lte : 100}})
  • 相关阅读:
    C#进阶——反射
    C#基础——封装
    Design Patterns——简介
    WEB进阶——this的作用
    C#基础——字段与属性
    ASP.NET MVC基础——添加视图
    ASP.NET MVC基础 ——添加控制器
    C#进阶——var的使用
    C#基础——using的使用
    C#进阶——NPOI
  • 原文地址:https://www.cnblogs.com/dong-/p/10170215.html
Copyright © 2020-2023  润新知