• mongo 笔记


    mongo数据库的 增删改查

    mongo数据库的 增删改查

    注意事项

     1.需要用管理员身份打开cmd控制台 然后输入: mongod --dbpath D:datadb

      mongod 开机

      mongo 使用mongo

     2.上面输入完以后窗口是不可以关的

     3.要对mongo进行操作,需要再开一个cmd窗口,输入mongo回车 进入到mongo的环境中。

    1.基本的一些操作

     1.show dbs :列出所有的数据库

     2.use 数据库名字

      用来指定使用哪一个数据库; 当这个数据库名不存在的时候 就会新建这个数据库

     3.db : 查看当前所在的数据库

      db.表名

       如果这个表名存在就使用这个表

       如果这个表名不存在就会在当前的 数据库里面新建这个表名,也就是集合

     4.cls :清屏幕

     5.db.createCollection("表名字"):向当前数据库添加表

     6.show tables:显示当前数据库下面的表

    2.增

     insert

      例如:db.student.insert({ "name":"liuchun","age":18,"sex":"woman" }); 这里的student 就是集合,类似于关系型数据库中的表; 在这个集合里面有许多json; 如果在输入该命令的时候没有这个集合,就会自动新创建这个集合;

    3.导入

     mongoimport

      例如:mongonimport --db test --collection restaurants --drop --file primer-mytest.json; --db test : 是指定想要往哪个数据库里面导入数据; --collection restaurants : 是指定想要往哪个集合中导入数据; --drop : 是把当前这个集合清空; dataset.json : 就是自己想要导入的数据文件名

    4.删

     drop

      db.dropDatabase( ): 删除当前所在的数据库

      db.表名.drop( ):删除这个指定表名的表

     remove( )

      db.chunchun.remove( )

      db.student.remove({ "age":20},true)

       删除在学生表中的年龄 等于20,的第一条数据; 如果不加第二个参数true, 就是把这个集合满足条件 的都删掉;

      db.student.remove( )

       把学生表里面的东西都删掉,但是这个 表还在;

    5.改

     update( )

      update({修改的条件} , {修改器:{修改的内容}} , 第三个参数 , 第四个参数)

       

       修改器:

        参考网址:https://www.cnblogs.com/myrunning/p/5655615.html

        $set 修改

        数组修改器

         $push 数组修改器

          如果字段的值是数组类型; 要加入新值的话,就要用 这个;往数组末尾加入一个 元素;

         $addToSet 数组修改器,作用 和$ne差不多,更方便点

         $ne 数组修改器

          在查询文档中,如果这个值不在 数组里面就加进去;如果已经存在 就不添加;

         $each 要喝$addToSet组合使用; 可以一次插入几个不重复的值;

          db.users.update({"_id":ObjectId(_id)} , {$addToSet:{ "emails": $each:["joe@example.com","joe@python.com","joe@php.com"]}})

         $pop 根据key来决定; 是删除数组的尾端,还是 头部;

          {$pop:{key:1}} 从数组末尾删除一个元素 {$pop:{key:-1}} 从数组头部删除一个元素

         $pull 会删除指定的key的值

          {$pull: { "name": ["liuchun" , "liunian"] } }

        $unset 删除字段

        $inc 相当于变成语言的“+=”

        $rename 重命名某个列

        如果在指令中没有修改器,就是用后面的数据去替换符合前面条件的 第一条数据

       第三个参数

        将这个参数设置为true,是存在就更新,不存在就插入; 设置为false就是当不存在的时候不插入,这个是默认的值

       第四个参数

        默认值是false,只更新找到的第一条数据 如果设置为true就把所有符合条件的记录都更新

      在mongo中还支持使用js代码,包括申明变量循环等

       例如:for(var i=0;i<10;i++){ db.chunchun.insert({name:“lala" , age: i})

    6.查

     find()

      “$lt”、“$lte”、“$gt”、“$gte”

      db.student.find( )

       括号里面没有参数的话就是查找当前集合的所有数据

      db.student.find( {"age":{$gt:20} }

       查找学生表里面的所有年龄大于20的学生

      db.student.find( {"age":{$gt:20} } .sort({ "age":1, "name":-1})

       查找学生表里面的所有年龄大于20的学生; 并且进行排序,以年龄正序排,名字倒序排

       当sort的key后面的值给1就是正序,反之就是倒序

      or查询

       $in

        db.student.find( {"age":{ $in : [20,10,30] } } )

         年龄在10,20,30中的学生

       $or

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

         年龄10岁 或者 名字是 la 的学生

       $mod 取余

        db.student.find( {"age":{ $mod : [20,3] } } )

         取所有年龄取余20,等于3的学生

       $not 取反

        db.student.find( {"age":{ $not : [ { "age":10 } ] } } )

       $exists 存在

        db.student.find( {"age":{ $exists : true } } )

       正则表达式

        db.student.find( { name : /acme.*corp/i } )

         i是区分大小写

       $size 个数

      find(参数1,参数2) 传两个参数的用法

       db.student.find( { },{"age":1 , "name":1 }

        第一个是要查找这个表的所有数据; 第二个参数是要查找后只返回age和name字段; 如果不加上“_id":0 ;这里返回的结果还是有_id字段

        “age":1 表示要展示; 如果是"age":0 表示不展示

       db.student.find( { },{"limit":1 , "skip":1 }

        limit( 1 ) : 限制只选中一条数据

        skip( 1 ): 是跳过第一条数据,从第二条开始读

        一般用在分页的时候

    7.导出

     mongoexport : 可以把一个collecton到处成 Json格式或者Csv格式的文件。

      mongoexport -d dbname -c collectionname -o file --type json/csv -f field 参数说明: -d :数据库名 -c :collection名 -o :输出的文件名 --type : 输出的格式,默认为json -f :输出的字段,如果-type为csv,则需要加上-f "字段名" 、示例: mongoexport -d mongotest -c users -o D:/users.json --type json -f "_id,user_id,user_name,age,status"

      输入这个命令是要在开启了mongo 的服务,而且不是在mongo的环境下

    8.导入

      mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field 参数说明: -d :数据库名 -c :collection名 --type :导入的格式默认json -f :导入的字段名 --headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段 --file :要导入的文件 、示例: mongoimport -d mongotest -c users --file D:/users.json --type json

  • 相关阅读:
    3.7号一周学习
    3.6号
    人月神话01
    课堂测试之全国疫情统计可视化地图第一阶段完成
    课堂测试之全国疫情统计可视化地图
    2.25号课堂作业
    2.29一周学习
    软件工程第二周开课博客
    2.25号课堂测试
    Mysql+Mycat实现数据库主从同步与读写分离
  • 原文地址:https://www.cnblogs.com/chun321/p/8918759.html
Copyright © 2020-2023  润新知