springboot使用mongodb

mongo简介:

使用情况:数据量大,写入操作频繁,价值较低(专为大数据而生,如贴吧,微博)
跨平台,面向文档非关系型数据库bson格式
体系结构:
database collection document
数据类型:null,boolean Numberint(为整数不加就是浮点型),日期,正则表达式,数组,内嵌文档,对象Id,二进制数据
mongodb中主键是_id(必须是这个),若是id会被当成一般字段来处理
不指定主键,会自动生成一个主键

springdataMongodb

导包:

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

配置:

spring.data.mongodb.host=192.168.68.133
spring.data.mongodb.port=27017
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.database=admin
spring.data.mongodb.username=admin
spring.data.mongodb.password=123456
#每个主机的连接数
spring.data.mongodb.connections-per-host=50
#线程队列数,它以上面connectionsPerHost值相乘的结果就是线程队列最大值
spring.data.mongodb.threads-allowed-to-block-for-connection-multiplier=50
spring.data.mongodb.connect-timeout=5000
spring.data.mongodb.socket-timeout=3000
spring.data.mongodb.max-wait-time=1500
#控制是否在一个连接时,系统会自动重试
spring.data.mongodb.auto-connect-retry=true
spring.data.mongodb.socket-keep-alive=true

实体类:(注解)

@Id:主键,不可重复、
@Document:标明由mongodb来维护该表
@Indexed:声明该字段加索引
@CompoundIndex:复合索引
@Field:代表一个字段,可以不加,不加默认以参数名为列名
例如:@Field(“fName”)
private String firstName;
@Transient:加该注解将不会录入到数据库中,只能作为普通的javaBean属性
@DBRef:关联另一个document对象

使用

方法一:直接使用mongodbTemplate
具体见(https://blog.csdn.net/qq_32475739/article/details/79194852)
操作时可能需要Query,Update,当使用修改时,只操作一次数据库,效率较高
方法二:定义reposity接口继承MongodbReposity
save()该方法没有就保存,有就修改

条件查询:
springboot使用mongodb_第1张图片

你可能感兴趣的:(springboot)