美文网首页
MongoDB 数据库增删改查 常用命令 api 2019-07

MongoDB 数据库增删改查 常用命令 api 2019-07

作者: 迷藏_ | 来源:发表于2019-07-15 16:27 被阅读0次

    数据库操作(database)

    mongo shell 使用javascript,语法大部分与其一致

    • 创建数据库:
      use DATABASE_NAME
    • 显示当前进入的数据库:
      db
    • 查看所有的数据库:
      show dbs
    • 删除数据库(删除的是当前使用的数据库):
      db.dropDatabase()

    集合操作(collection)

    • 创建集合:
      db.createCollection(name, options)
    字段 类型 描述
    capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
    autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。
    size 数值 (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
    max 数值 (可选)指定固定集合中包含文档的最大数量。

    在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

    • 删除集合
      db.collection_name.drop()

    文档操作(document)

    • 插入文档:

    可使用 insert() 或 save() 方法向集合中插入文档,当新增的文档存在主键(_id),且集合内存在主键相同的文档时,insert() 会提示错误,而save() 则更改原来的内容为新内容

    db.collection_name.insert({"name":"迷藏"})
    或者
    document ={"name":"迷藏"}
    db.collection_name.insert(document)
    collection_name为集合名

    注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

    • 查看文档:
      db.collection_name.find()
    • 更新文档:
      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 可选,抛出异常的级别。

    示例 :db.collection_name.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

    • save方法更新:
      db.collection.save(<document>,{writeConcern:<document>})

    • 删除文档(过时):
      db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )

    • 如删除集合下全部文档:
      db.col.remove({})
      db.collection.deleteMany({})

    • 删除 status 等于 A 的全部文档:
      db.collection.deleteMany({ status : "A" })

    • 删除 status 等于 D 的一个文档:
      db.collection.deleteOne( { status: "D" } )

    • 查询文档:
      db.collection.find(query, projection)

    若不想指定查询条件参数 query 可以 用 {} 代替,但是需要指定 projection 参数:
    若不指定 projection,则默认返回所有键,指定 projection 格式如下,有两种模式
    db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键
    db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键
    除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。
    
    • 易读:pretty()
      db.col.find().pretty()

    • 多条件查询:
      And
      db.col.find({key1:value1, key2:value2}).pretty()
      Or
      db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()

    • 操作符
    (>) 大于 - $gt
    (<) 小于 - $lt
    (>=) 大于等于 - $gte
    (<= ) 小于等于 - $lte
    

    db.col.find({likes : {$lt :200, $gt : 100}})

    相关文章

      网友评论

          本文标题:MongoDB 数据库增删改查 常用命令 api 2019-07

          本文链接:https://www.haomeiwen.com/subject/jwmnkctx.html