zoukankan      html  css  js  c++  java
  • Mongodb 学习笔记(一)

       MongoDB 是一款开源、跨平台、分布式,具有大数据处理能力的文档存储数据库。在 2007 年由 MongoDB 软件公司开发完成,并实现全部代码源发展。目 前,该文档数据库被国内外众多知名网因所采纳,用于提高数据访问的处理速度 和大数据存储问题。 

    基本操作命令 :

      show dbs  :  显示所有数据库(空数据库不会显示)。

        use dbname  : 切换至  数据库 dbname。

           db.stats()    显示 数据库状态

      db.dropdatabase()  删除当前数据库。

      db. getCollectionNames ()  查看当前数据库下的所有集合的名称

      show roles   查看当前数据库的用户角色权限及用户名/密码信息

     增删改查:

      插入:

      db.student.insert({"name":"Jason","age":20})    student 为集合名称,如果没有该集合,会自动创建。

        db.student.insert([{"name":"dalie","age":30},{"name":"sun","sex":"male"}]) 插入多条记录 。 同一个集合中的文档,key 不用保持一致。

      document = {"name":"biao","age":12}

        db.student.insert(document);                 也可以用声明变量的方式  将文档插入集合中

      db.student.insert([{"name":"wang","age":11},{"name":"goudan","age":1}],{ordered:true}) 顺序插入  ordered为true时,如存在主键冲突的数据,会导致全部插入失败,false时,除出错记录外,其他记录正常插入。

           查询:

      db.student.find()   列出该集合内所有文档。

      db.student.find({"name":"Jason"})  括号内 可以填写 匹配条件  类似于 sql 中where

      db.student.fingOne()   db.student.findOne({"name":"Jason"})   列出集合内符合条件的第一条文档

       db.student.find().pretty()  将结果 以优美的形式展示。

            db.student.find({},{name:1,age:1,_id:0}).pretty()    可以设置要查询的key ,1显示,0不显示。

      db.student.find().limit(2)  返回前两条文档

       db.student.find().skip(2) 跳过前两条文档,显示 之后的所有文档。

       db.student.find().skip(2).limit(1) 显示第三条文档。

       db.student.find({name:{$in:["Mike","Jason"]}})    $in 实现 范围查询。$in 用于不同文档指定同一个 Key 进行或条件匹配, $or 可以指定多个 Key 或条件匹配。

      db.student.find({$or:[{name:"Jason"},{age:12}]})

            

      更新:

       db.student.update({name:"Jason"},{$set:{age1:12}})  

       $set  更新要修改的字段  $unset 删除该字段  $rename 更改字段名 $inc 修改数值做加法运算。

       db.collection.updateOne() 。与 update()唯一的 区别是命令语法里少了 一个 multi: <boolean>选项, 也就是 updateOne()只适用于符合条件的一条文档的修改任务。

       db.collection.updateMany() 。与 update()唯一的区别是命令语法里少了 一个 multi: <boolean>选项, 也就是 updateMany()只适用于符合条件的多条文档的修改任务。
       db.collection.replaceOne() 。与 update()的区别有两处, 一个没有 multi: <boolean> 选项;另外一个在第二个参数 Cupdate 的<update>)里不能有更新操作符。

      删除

      db.student.remove("name":"Jason") 删除姓名为Jason的文档。

       db.student.remove({}) 删除集合内所有文档,但如果要删除整个集合 db.student.drop() 效率更高,它会直接删掉集合及索引。

  • 相关阅读:
    MySQL 存储过程实例
    [MySQL优化] -- 如何了解SQL的执行频率
    [MySQL优化] -- 如何定位效率较低的SQL
    [MySQL优化] -- 如何查找SQL效率地下的原因
    [MySQL优化] -- 如何使用SQL Profiler 性能分析器
    2020.10.09软件更新公告
    2020.04.12软件更新公告
    2020.04.11软件更新公告
    2020.02.21软件更新公告
    程序员调用MODI的正确姿势
  • 原文地址:https://www.cnblogs.com/jasonbourne3/p/11057378.html
Copyright © 2011-2022 走看看