2的10次方学习总结-MongoDB

2的10次方学习总结-MongoDB

常见的异常
在这里插入图片描述

在这里插入图片描述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QE7uVJqk-1672814483856)(null)]

第二天 MongoDB

docker安装mongodb快速使用 :http://t.zoukankan.com/banbosuiyue-p-13094105.html

MongoDB是一个开源、高性能、无模式的文档型数据库。它可以解决需要存储数据量大、高并发读写、高可用的现实问题,适用于社交朋友圈、游戏积分、物流轨迹、商品评论等业务。架构成本较低,各方面却很优秀。

它的特点是高性能、易部署、易使用,存储数据非常方便。

  1. MongoDB 的文档(document),相当于关系数据库中的一行记录。
  2. 多个文档组成一个集合(collection),相当于关系数据库的表。
  3. 多个集合(collection),逻辑上组织在一起,就是数据库(database)。
  4. 一个 MongoDB 实例支持多个数据库(database)。

数据库(databases) 数据库(databases)
集合(collections) 表(table)
文档(document) 行(row)

在这里插入图片描述

选择和创建数据库的语法格式:use commentdb
查看数据库: show dbs
查看集合,需要先选择数据库之后,才能查看该数据库的集合:show collections

选择数据库后,使用集合来对文档进行操作,插入文档语法格式:
db.集合名称.insert(数据);

插入以下测试数据:
db.comment.insert({content:“十次方课程”,userid:“1011”})

查询集合的语法格式:db.集合名称.find()

按一定条件来查询,比如查询userid为1013的记录,只要在find()中添加参数即可,
参数也是json格式,如下:
db.comment.find({userid:‘1013’})
只需要返回符合条件的第一条数据,我们可以使用 findOne命令来实现:
db.comment.findOne({userid:‘1013’})
返回指定条数的记录,可以在 find方法后调用limit来返回结果,例如:
db.comment.find().limit(2)

修改文档的语法结构:
db.集合名称.update(条件,修改后的数据)**
db.comment.update({_id:“2”},{$set:{thumbup:2000}})

删除文档的语法结构:
db.集合名称.remove(条件)
以下语句可以将数据全部删除,慎用 ~
db.comment.remove({})
删除条件可以放到大括号中,例如删除 thumbup为1000的数据,输入以下语句:
db.comment.remove({thumbup:1000})

统计条数

统计记录条件使用count()方法。以下语句统计spit集合的记录数:
db.comment.count()
按条件统计 ,例如统计userid为1013的记录条数:
db.comment.count({userid:“1013”})

模糊查询

MongoDB的模糊查询是通过正则表达式的方式实现的。格式为:
/模糊查询字符串/
查询评论内容包含 “流量”的所有文档,代码如下:
db.comment.find({content:/流量/})
查询评论内容中以“加班”开头的,
db.comment.find({content:/^加班/})
查询评论内容中以“加班”结尾的,
db.comment.find({content:/加班$/})

大于 小于 不等于

<, <=, >, >= 这个操作符也是很常用的,格式如下:
db.集合名称.find({ “field” : { $gt: value }}) // 大
于: field > value
db.集合名称.find({ “field” : { $lt: value }}) // 小
于: field < value
db.集合名称.find({ “field” : { $gte: value }}) // 大于等
于: field >= value
db.集合名称.find({ “field” : { $lte: value }}) // 小于等
于: field <= value
db.集合名称.find({ “field” : { KaTeX parse error: Expected 'EOF', got '}' at position 11: ne: value }̲}) // 不等 于: fie…gt:1000}})

包含与不包含

包含使用KaTeX parse error: Expected '}', got 'EOF' at end of input: ….find({userid:{in:[“1013”,“1014”]}})**
不包含使用KaTeX parse error: Expected '}', got 'EOF' at end of input: ….find({userid:{nin:[“1013”,“1014”]}})**

条件连接

1、使用$and操作符将条件进行关联(相当于SQL的and)

查询评论集合中 thumbup大于等于1000 并且小于2000的文档:
db.comment.find({KaTeX parse error: Expected '}', got 'EOF' at end of input: …nd:[ {thumbup:{gte:1000}} ,{thumbup:{$lt:2000} }]})

2、如果两个以上条件之间是或者的关系 KaTeX parse error: Expected '}', got 'EOF' at end of input: ….comment.find({or:[ {userid:“1013”} ,{thumbup:{$lt:2000} }]})

2.3.9 列值增长
对某列值在原有值的基础上进行增加或减少,可以使用KaTeX parse error: Expected '}', got 'EOF' at end of input: …ate({_id:"2"},{inc:{thumbup:1}})

//新增
Document document = new Document(map);
comment.insertOne(document);

//查询
FindIterable documents =comment.find(new BasicDBObject(“_id”, “1”));

//修改的条件
Bson filter = new BasicDBObject(“_id”, “6”);
//修改的数据
Bson update = new BasicDBObject(“$set”, new
Document(“userid”, “8888”));
comment.updateOne(filter, update);

//删除的条件
Bson filter = new BasicDBObject(“_id”, “6”);
comment.deleteOne(filter);

添加依赖

org.springframework.boot spring-boot-starter-data-mongodb

配置文件
在这里插入图片描述
@Autowired
private MongoTemplate mongoTemplate;
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值