mongodb粗暴使用

mongodbs使用

1、下载安装mongodb

官网:https://www.mongodb.com/download-center/enterprise

安装时不要勾选install mongodb compass,点击后翻墙下载官方可视化管理工具,安装不上。

安装教程:https://www.cnblogs.com/zhif97/p/12806245.html

2、操作数据库

  1. 重新打开一个cmd控制台输入
  2. mongo进入环境,开始进行增删改成操作
  3. show dbs :显示所有的数据库
  4. db:显示当前正在使用的数据库
  5. use 数据库名:切换到指定的数据库,有就切换,没有就创建切换
  6. db.dropDatabase():删除当前执行的数据库

3、集合操作及数据操作

1、创建集合
  1. db.createCollection("集合名",{capped:true,size:1024\*30}) :创建一个集合

    capped:true.指定库的大小,默认false,即自动分配

    size:1024*30这是30m的库,基于kb的

    show collections : 查看当前使用集合

    了解就行,不需要记,基本是多余的一步

2、创建并写入数据
  1. db.集合名.insertOne(写入集合的一条数据):像集合写入一条数据,没有此集合会先创建再写入
  2. db.集合名.insertMany(数组对象):写入多条数据,同上
  3. 写入数据不是覆盖式写入,而是追加写入
3、查看、切换集合
  1. show collections:查看当前库里面所有的集合
  2. use 集合名:切换到指定的集合
4、删除集合
  1. db.集合名.drop():删除指定的集合,但必须是切换到集合所在库的环境下进行。
  2. db.集合名.remove({}):清空集合内的所有数据
5、查看数据

注意:由于写入的是键值对,所有查找的条件也必须是{键值对}。

  1. db.集合名.find():查看集合全部数据
  2. db.集合名.find(条件):按条件进行精确查找
  3. db.集合名.find(条件1,条件2) 查找满足条件1且满足条件2
  4. db.集合名.find($or:[条件1,条件2]) 查找满足条件1或者条件2
  5. db.集合名.findOne(条件):查找显示符合条件的第一条数据
  6. db.集合名.find({"键":{$regex:"值"}}):按条件模糊查询
  7. db.集合名.find({"键":正则表达式})使用正则条件查询
  8. db.集合名.find({"age":{$gt:20}}):查找年龄大于20
  9. $gt:大于
  10. $lt:小于
  11. $gte:大于等于
  12. $lte:小于等于
  13. $ne:不等于
  14. $eq:等于
  15. db.集合名.find().sort({age:1}):按照年龄的正序查找
  16. db.集合名.find().sort({age:-1}) :按照年龄的倒序查找
  17. db.集合名.find().count() :获取集合有条数
  18. db.集合名.find().skip(数字):获取指定条后的数据
  19. db.集合名.find().limit(数字):指定获取多少条数据
  20. db.集合名.find().skip(数字).limit(数字):获取指定条后的几条数据
  21. 以上find()后面的都是可以混合着写的。
  22. db.集合名.find({field: {$in: [ '值1', '值2' ]}}); field只要和array中的任意一个value相同,那么该文档就会被检索出来 —— 包含
  23. $nin —— 不包含
6、删除数据

db.集合名.remove(条件):删除指定条件的数据

db.集合名.deleteMany({}):删除所有数据

db.集合名.deleteMany({条件对象}):删除所有符合条件的数据

其他的和查找数据一样,

7、修改数据
  1. db.集合名.update(筛选条件,{重新写入内容},false):重新写入筛选出来的数据。默认false,即筛选不到不创建。改成true就会创建
  2. db.集合名.update(筛选条件,($set{重新部分内容})):修改部分内容。同上
8、索引🌙

为集合建立索引,基于title(还可以是id,就是建立主键)作用是加快查询

>db.col.createIndex({"title":1})
9、聚合(很少用)

MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。

> db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
{
   "result" : [
      {
         "_id" : "runoob.com",
         "num_tutorial" : 2
      },
      {
         "_id" : "Neo4j",
         "num_tutorial" : 1
      }
   ],
   "ok" : 1
}
>
表达式描述实例
$sum计算总和。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { s u m : " sum : " sum:"likes"}}}])
$avg计算平均值db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { a v g : " avg : " avg:"likes"}}}])
$min获取集合中所有文档对应值得最小值。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { m i n : " min : " min:"likes"}}}])
$max获取集合中所有文档对应值得最大值。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", num_tutorial : { m a x : " max : " max:"likes"}}}])
$push在结果文档中插入值到一个数组中。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", url : { p u s h : " push: " push:"url"}}}])
$addToSet在结果文档中插入值到一个数组中,但不创建副本。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", url : { a d d T o S e t : " addToSet : " addToSet:"url"}}}])
$first根据资源文档的排序获取第一个文档数据。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", first_url : { f i r s t : " first : " first:"url"}}}])
$last根据资源文档的排序获取最后一个文档数据db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", last_url : { l a s t : " last : " last:"url"}}}])

4、数据可视化

教学网站:https://blog.csdn.net/weixin_39999535/article/details/81383196

上面的软件是付费使用的,还有免费的软件NoSQLBooster

软件的使用基本一样,链接数据库需要百度看看

上面的增删改查(CURD)操作的mongodb语法上面有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值