• MongoDB使用及命令大全(一)


    目录

     

     MongoDB使用 

                1.安装mongodb

     2.认识mongodb命令

     2.1 增加与删除命令

     2.2寻找命令(find)

     2.3删除命令(remove)

     2.4更新文档(update)

     3.集合与数组操作

    3.1集合操作

    3.2数据库操作


     MongoDB使用

     1.安装mongodb

    MongoDB官网
    关于安装的各种配置可参考该文章
    安装MongoDB最全的文章
    如果大家对于官网上的英文看不懂
    可以观看MongoDB中文官网


     2.认识mongodb命令

    在使用monggodb命令时,我们必须
    要知道进行操作的时形式都是json形式


     2.1 增加与删除命令


    1. 增加即插入(insert)
        操作格式:
       db.<集合的名称>.insertOne()
       db.<集合的名称>.insertMany

            ([,.....])

    注意:如果插入时插入的集合没有,会自动创建

              在同时插入多个值时需要用数组符号包裹

    eg:

    1. db.fruit.insertOne({name:'apple'})
    2. db.fruit.insertMany([
    3. {name:'apple'},
    4. {name:'pear'},
    5. {name:'banner'}
    6. ])

     2.2寻找命令(find)

    关于find:相当于Mysql的select

                    返回的为游标

                    利用在查询的后面添加

                    pretty()可使结果呈文档形式

    查询条件对照表
    SQLmongodb
    a=1{a:1}
    a<>1{a:{$ne:1}
    a>1{a:{$gt:1}}
    a>=1{a:{$gte:1}}
    a<1{a:{$lt:1}}
    a<=1{a:{lte:1}}
    1.        $lt:存在并小于
    2.       $lte:存在并小于等于
    3.       $gt:存在并大于
    4.       $gte:存在并大于等于
    5.       $ne:不存在或存在但不等于
    6.       $in:存在并在指定的数组中
    7.       $nin:不存在或不在指定的数组中
    8.       $or:匹配多个条件只需一个符合集合
    9.      $and:匹配多个条件全部符合
    查询逻辑对照表
    SQLmongodb
    a=1 AND b=1{a:1,b;1}或{$and:[{a:1},{b;1}]}
    a=1 OR b=1{$or:[{a:1},{b;1}]}
     a IS NULL {a:{$exists:false}}
    a IN (1,2,3){a:{$in:[1,2,3]}}

     关于find搜索子文档可采用f.s_f的形式

    1. db.fruit.insert(
    2. {
    3. name:'ztl',
    4. form:{city:'beijing'
    5. }
    6. })

    这个时候可采用

     db.fruit.find({'form':{city:'beijing'}}).pretty()

    采用下面的会报错

    db.fruit.find({"form.city","beijing"}).pretty()

     find命令用于搜索数组中元素

    假设有如下数据

    1. db.fruit.insert([
    2. {name:'ztl1',color:['red','green']},
    3. {name:'ztl2',color:['pink','red']}
    4. ])

    那么我们应该怎么查询呢?

    1. db.fruit.find(
    2. {$or:[{color:'red'},{color:'pink'}]}
    3. ).pretty()

     我们已经使用过利用天骄pretty()

    使查询结果有更好的显示效果。

    我们也可以对查询的结果进行

    限制比如:

    _id:0即代表不返回_id字段其他也如这

     2.3删除命令(remove)

    需要注意的是在使用remove

    命令时比如指定条件,否则会报错

    eg:

    1. db.fruit.remove({name:'apple'})//删除a为apple的记录
    2. db.fruit.remove({})//删除所有的记录
    3. db.fruit.remove()//报错

     2.4更新文档(update)

    使用形式:db.<集合>.update(<查询条件>,<更新字段>)

    使用updateOne更新文档,不论有多少个查询条件

    只更新第一条查询条件。

    使用update有几条查询条件,就修改文档多少条

    使用updateOne与update必须携带以下的更新条件

    1.$set/$unset

    2.$push/$pushAll/$pop

    3.$pull/$pullAll

    4.$addToSet

    否则会报错

    更行文档条件
    $push增加一个对象到数组底部
    $pushAll增加多个对象到数组的底部
    $pop从数组的底部删除一个对象
    $pullAll如果匹配任意的值,从数组删除对应的对象
    .$pull如果匹配指定的值,从数组删除对应的对象
    $addToSet如果不存在增加一个对象到数组底部

    比如有下面的数据

    1. db.fruit.insert([
    2. {name:'ztl1'},
    3. {name:'ztl'},
    4. {name:'ztl3'}
    5. ])

    可使用以下命令(只更新一个数据)

    db.fruit.updateOne({name:'ztl'},{$set:{from:'xa'}})

     3.集合与数组操作

    3.1集合操作

    创建集合:

    1. db.createCollection(name, options)
    2. db.fruit.insert({})

    其中name为集合的名字

    option:可选参数, 指定有关内存大小及索引的选项

    删除集合:

    db.collection.drop()

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

    查看集合:

    show collections

     

    3.2数据库操作

    创建数据库:

    use DATABASE_NAME(数据库名称)

    如果不存在,则会自动创建

    否则切换到指定数据库

    删除数据库:

    db.dropDatabase()

    删除当前数据库,默认为 test,

    你可以使用 db 命令查看当前数据库名。

    查看数据库:

    show dbs

    好了这次的文章就到这了
    如果觉得还不错的话,帮忙点个关注吧
    希望能给博主点赞

    🎨,评论🧶,收藏🥼三连一波

     

  • 相关阅读:
    asp.net -web -pdf -预览-编辑 RAD PDF.NET cRACK
    [Linux]线程同步
    BUUCTF reverse wp 81 - 85
    电脑C盘快满了有什么影响
    《逆向工程核心原理》学习笔记(四):API钩取
    CSS--学习
    血氧仪方案组成结构设计分析
    centos密码过期导致navicat无法通过SSH登录阿里云RDS问题
    从maven开始你的spring开发
    【uni-app】—4.使用HBuilderX配置各种调试工具
  • 原文地址:https://blog.csdn.net/m0_51311990/article/details/127640823