zoukankan      html  css  js  c++  java
  • 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}})
  • 相关阅读:
    2.Android之按钮Button和编辑框EditText学习
    《DSP using MATLAB》Problem 3.8
    《DSP using MATLAB》Problem 3.7
    《DSP using MATLAB》Problem 3.6
    《DSP using MATLAB》Problem 3.5
    《DSP using MATLAB》Problem 3.4
    《DSP using MATLAB》Problem 3.3
    《DSP using MATLAB》Problem 3.2
    《DSP using MATLAB》Problem 3.1
    《DSP using MATLAB》Problem 2.20
  • 原文地址:https://www.cnblogs.com/dong-/p/10170215.html
Copyright © 2011-2022 走看看