当前位置: 首页>数据库>正文

dbeaver 执行mongodb 语句 mongodb操作语句

1.启动mongodb服务,并设置数据存放位置 

    1.切换到对应为mongodb的bin目录位置(我的是在E盘) 

1.切换盘符 e:  

2.cd E:\mongodbinstall\bin 切换到bin目录 

    2.启动并设置mongodb数据的存放位置 

        1.格式: mongod--dbpath=数据存放位置 

        2.mongod.exe --dbpath=E:\mongodbinstall\data 



 2.客户端连接mongodb服务 

    1. 重新启动一个cmd 

    2.mongo 





 库--集合--文档 

 3.库的操作 

     1.查看当前所有的库databases 

        show  databases 

        或者 show  dbs    

     2.创建/使用 数据库 

格式: use 数据库名 

use student  

如果对应的数据库存在,表示使用该数据库 

如果对应的数据库不存在,表示创建该数据库 

         如果是刚创建的数据库,而又没有数据,则该数据库不显示 

  插入一个文档: db.student.insert({name:"小华华"}) 

      

     db 代表的是当前的数据库   



     3.删除一个数据库 

        use 数据库名 

        db.dropDatabase() 

     4.查看当前使用的数据库 

        db 

        或者 db.getName() 

     5.help 

       查看帮助命令 

     6.exit  

       退出 



 4.集合的操作  

     1.查看当前数据库中的集合 

        show collections  

     2.创建一个集合 

        1.第一种 

          db.集合名.insert(数据) 

        2.第二种 

          db.createCollection(集合名)   



       #第一种创建的是携带数据的集合 

       #第二种是创建一个空的集合    

     3.删除一个集合 

       格式: db.集合名.drop() 

         例: db.sudents.drop() 删除成功返回True 

 5.文档的操作 

    1.添加一个文档 

       1.添加一个文档 

         格式: db.集合名.insert(数据)  数据是Bjson格式  

         例: db.student.insert({name:"小花花",age:18,address:"深圳",gender:1}) 

       2.添加多个文档 

         格式: db.集合名.insert([文档1,文档2,文档3,...]) 

      db.student.insert([{name:"春华秋实",age:20,address:"北京",gender:0},{name:"滑不溜秋",age:22,address:"杭州",gender:0},{name:"风花雪月",age:18,address:"上海",gender:1}]) 



       3.可以是save 也是添加  

          db.student.save({"_id":ObjectId("5a694d08cbf8026d024fe36c"),name:"大花花",age:28,address:"深圳",gender:0}) 

db.student.insert({"_id" : ObjectId("5a694f8ccbf8026d024fe376"),name:"大花花",age:28,address:"深圳",gender:0}) 

            

sava添加数据与insert是类似的,但是当插入的数据中指定了_id时,save表示的是修改数据, insert不能修改数据       

    



       

    2.查询文档  

      1.查看所有数据 

        格式: db.集合名.find() 

        例:   db.student.find() 

      select 字段名 from 表名 where 条件 



      2.查询数据的格式 

格式: db.集合名.find( 

query,{ 

属性名1:1, 

属性名2:1 

... 

}                      

) 
  

 

query 表示的是查询条件, 可以省略, 不写表示查询所有 

属性名1:1,  表示需要显示的属性名,  1表示显示,  如果没有写的表示不显示,   

           如果第二个参数不写,表示显示所有的属性名 





         例:查出名字是"大花花的数据" 

db.student.find({name:"大花花"}) 

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

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

 



      

      3.格式化数据 

         db.集合名.find().pretty() 

      4.查找结果的一条数据 

         db.集合名.findOne() 





    3.修改文档 

       1.第一种修改 

         save  

       2.**update 表名 set 列名 = 新的值 where 条件 

         格式: db.集合名.update(query, 

       upset, 

       { 

        upsert:boolean, 

multi:boolean 

       }) 

query 表示匹配条件 

          注意: 以下写法,会将整个数据修改成 age:58 

          #db.student.update({name:"春华秋实"},{age:58}) 

upset: 修改值, $set 表示修改原属性的值 ,  $inc表示在原有属性值上加上一个值 

          upsert:boolean,  表示当需要修改的数据不存在时,是否当新的数据插入到集合中 

                  true表示当新的数据插入, false是默认值,不会当新的数据插入 

multi: boolean  表示是否修改所有符合条件的数据, true 修改所有, 默认false,默认只会修改第一个匹配的 

 



          如: db.student.update({name:"小花花"},{$set:{age:58}}) 

              db.student.update({name:"小花花"},{$inc:{age:1}}) 

           

db.student.update({name:"小华华"},{$set:{age:58,name:"大华华"}}) 

db.student.update({name:"小华华"},{$set:{age:58,name:"大华华"}},{upsert:true}) 
 



           db.student.insert([{name:"春华秋实",age:20,address:"北京",gender:0},{name:"滑不溜秋",age:20,address:"杭州",gender:0},{name:"风花雪月",age:20,address:"上海",gender:1}]) 

          

db.student.update({age:20},{$set:{gender:0}},{multi:true}) 

    4.删除文档 --*delete from 表名 where 条件* 

       格式:db.集合名.remove(query, 

{justOne:boolean}) 



query 表示匹配条件 

justOne 表示是否只删除匹配项的一条数据, True表示只删除匹配的第一条数据 

                                      ,  默认是false,默认会删除所有的匹配项 


db.student.remove({age:20}) 

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

      

 6.查询条件  

    1.比较运算符 

       1.大于----- $gt  

例: db.student.find({age:{$gt:22}}) 
 


       2.大于等于 ---- $gte 

例: db.student.find({age:{$gte:22}}) 
 


       3.小于 -----  $lt 


       4.小于等于  ----- $lte 

           

       5.等于----- : 

        

       6.大于22且小于30 
   

        

       7. 根据id进行查询  :   

         例: db.student.find({"_id" : ObjectId("5a697b2751261501dda42204")}) 

       8.获取结果的数量 

          例: db.student.find().count() 

       9.查找某个属性值中是否包含某个字符 

         <!-- 找出所有包含 "花" 字的 --> 

db.student.find({name:/花/})  注意: 没有引号 

       10. 匹配某个属性值是否以 某个字符开始^,结束$ 

          db.student.find({name:/^风/}) 

         

    2.逻辑运算符 

       1.and 逻辑与,且 ------  ,  

          1.找出名字是 xxx,且年龄是 yyy 

  db.student.find({name:"风花雪月",age:20}) 

          2.找出年龄小于 30,且年龄 大于 20 

  #db.student.find({age:{$lt:30},age:{$gt:20}}) 

  注意:  db.student.find({age:{$lt:30,$gt:20}}) 



       2.or  逻辑或,   ------ $or 

         1.找出名字是 小花花, 或者 年龄是 20 

  db.student.find({$or:[{name:"小花花"},{age:20}]})    

       3.and和or 

          1.找出名字是 小花花, 或者 年龄是 20      且      性别是0的 

          db.student.find({$or:[{name:"小花花"},{age:20}],gender:0})   

          $or[ ] 或连接,   , 且 

 7.分页 

     1. limit  读取多少条数据 

       db.student.find().limit(2) 

     2. skip  跳多少条数据 

       db.student.find().skip(2) 

     3.分页   跳到某个位置,读多少条数据 

        db.student.find().skip(2).limit(2)    

     

 8.排序 

     1.按年龄排序 age  

      1 表示从小到大 

      -1 表示从大到小 

      db.student.find().sort({age:-1})

https://www.xamrdz.com/database/6am1963428.html

相关文章: