镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站
mongodb简介 mongodb是一种非关系型数据库,是现在非常火热的nosql。也被称为文档性数据库。(可存放json,xml等格式) mongodb与mysql命令对比 传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成, mongodb是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。(存储xml,json等) mongodb对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。 一条mongodb就是一个类似json数据结构。 特点: 存储方式:虚拟内存+持久化。(数据存储在磁盘,但是充分利用了缓存,常用的数据放于内存) 不使用固定的sql进行操作。(有固定语法) 1.mongodb的优点 高速。 支持json。(可存放复杂数据) 可扩展分片集群。 2.mongodb的缺点 事务关系支持薄弱。 稳定性不足。 运维难。 不支持对表关联查询。 在指定id之后插入会比较慢。 3.使用场景 对大量无固定格式的数据存储,如日志等。(充分的使用了内存) 需要高性能。 扩展集群。 mongodb的curd语法 安装 首先需要安装,可以按照这位老哥的来安装
操作命令 进入c:\program files\mongodb\server\3.4\bin,双击mongo.exe。
show dbs --查看数据库,假设我们有一个叫test的数据库use test 使用test数据库 1.插入语法db.message.save({'name':'xiaobao','age':27,'class':'1-1'}) --插入message的信息。里面为json。db.message.save({'name':'xiaobao2','age':28,'class':'2-1'})db.message.save({'name':'xiaobao3','age':29,'class':'3-1'}) 2.查询语法db.message.find() --查询messagedb.message.find().pretty() --格式化在查询db.message.find() .limit(1) --查询一条db.message.find({age:{$gte:10}}) --查询age大于10的数据db.message.find({age:{$lte:10}}) --查询age小于10的数据db.message.find().sort({age:1}) --正排序db.message.find().sort({age:1}) --负排序db.message.count() --查询条数 3.修改语法db.message.update({name:xiaobao},{$set:{name:xiaowang}}) db.message.update({name:xiaowang},{name:laoli}) --修改name 为laoli 其余值删除db.message.update({name:xiaobao2},{$set:{name:xiaowang}},{upsert:true}) --如果没有 增加一条db.message.update({name:xiaowang},{$set:{name:xiaowang}},{multi:true}) --修改所有数据 4.删除语法db.message.remove() --删除所有db.message.remove({'class':'1-1'}) --删除class = 1-1的那条 整合spring boot 在application.properties加入mongodb链接。
spring.data.mongodb.uri=mongodb://192.168.2.81:27017/test 然后使用mongotemplate 来操作数据库,mongotemplate 和常用的redistemplate差不多,都是封装了mongodb方法的客户端。
@autowired private mongotemplate mongotemplate; //增加 @requestmapping(path = /savemongo, method = requestmethod.post) @responsebody public void saveccity(@requestbody city city) { mongotemplate.save(city);//通过一个类类型向数据库中插入json } //查询 @requestmapping(/selmongo) @responsebody public city select(@requestparam int id) { query query = new query(criteria.where(id).is(id)); //查询id为传入参数 city user = mongotemplate.findone(query, city.class); return user; } //删除 @requestmapping(/delmogo) @responsebody public void del(@requestparam int id) { query query = new query(criteria.where(id).is(id)); //个人理解此行为查询条件,然后在下面查找出在删除。 mongotemplate.remove(query, city.class); } //修改 @requestmapping(path = /updamogo, method = requestmethod.post) @responsebody public void updatemongo(@requestbody city city) { query query = new query(criteria.where(id).is(city.getid())); update update = new update().set(provinceid, city.getprovinceid()).set(cityname, city.getcityname()); mongotemplate.updatefirst(query, update, city.class); } 本文转自: https://blog.51cto.com/u_15403620/4756019
长安奔奔E-Star成为代步车标杆,小型纯电汽车市场将更加繁盛
液晶显示器的LED背光驱动控制设计方案
华为“1234X”战略以智能IP为底座,为全行业提供新动能
水文监测站介绍
现代汽车韩国展厅火了,机器人上岗,可随时提供智能化客户服务
mongoDb入门并整合springboot
华硕ROGSTRIXZ390-IGaming主板高清图赏
数据中心的网络安全策略应以智能为中心
全球半导体设备制造市场规模发展情况
PCB生产节能哪家强?海尔中央空调为工业绿色生产加分!
S7-200SMART PLC饮料自动售货机程序设计
售卖山寨AirPods产品到底有多暴利?
基于车辆动力学模型的横向控制
GE推出新款智能灯泡支持语音控制
智慧医疗有哪些有点?智慧医疗应用场景
Wintel联盟将推动非挥发性存储器革命
Versal自适应SoC让Combo PON方案高性能、易于使用
如何玩转kvm切换器
TOF近距离测距解决方案
大众计划将于2020年夏季开始将3万辆ID.3汽车交付于欧洲客户