MongDB

一、简介

  • 非关系型数据库(nosql数据库)中的文档型关系数据库
    以bson(升级版json格式)结构存储数据

  • 非关系型数据库特点
    1.数据模型比较简单.(主要)
    2.需要灵活性更强的应用系统
    3.对数据库性能要求较高(主要)
    4.不需要高度的数据一致性(主要)
    5.对于给定key,比较容易映射复杂值的环境.

  • mongodb特点
    1:JSON结构和对象模型接近,开发代码量少
    2:JSON动态模型意味着更容易响应新的业务需求
    3:复制集提供了 99.999%高可用
    4:分片架构支持海量数据无缝扩容

  • 每个文档大小不能超过16MB

二、 MongoDB范式化与反范式化

  • 范式化:将数据分散到多个不同的集合,不同集合之间可以相互引用数据。如果要修改数据,只需修改保存这块数据的文档就行。但是MongoDB没有连接(join)工具,所以在不同集合之间执行连接查询需要进行多次查询。

  • 反范式化:将每个文档所需的数据都嵌入在文档内部。每个文档都有自己的数据副本,而不是所有文档共同引用一个数据副本。但是如果数据发生变化,那么所有相关文档都需要进行更新。

  • 范式化能够提高数据写入速度,反范式化能够提高数据读取速度。

三、Spring Data

Spring Data方法命名规范

关键字 例子 JPQL
And findByNameAndAge(String name, Integer age) where name = ? and age = ?
Or findByNameOrAge(String name, Integer age) where name = ? or age = ?
Is findByName(String name) where name = ?
Between findByAgeBetween(Integer min, Integer max) where age between ? and ?
LessThan findByAgeLessThan(Integer age) where age < ?
LessThanEqual findByAgeLessThanEqual(Integer age) where age <= ?
GreaterThan findByAgeGreaterThan(Integer age) where age > ?
GreaterThanEqual findByAgeGreaterThanEqual(Integer age) where age >= ?
After 等同于GreaterThan
Before 等同于LessThan
IsNull findByNameIsNull() where name is null
IsNotNull findByNameIsNotNull() where name is not null
Like findByNameLike(String name) where name like ?
NotLike findByNameNotLike(String name) where name not like ?
StartingWith findByNameStartingWith(String name) where name like '?%'
EndingWith findByNameEndingWith(String name) where name like '%?'
Containing findByNameContaining(String name) where name like '%?%'
OrderByXx[desc] findByIdOrderByXx[Desc] (Long id) where id = ? order by Xx [desc]
Not findByNameNot(String name) where name != ?
In findByIdIn(List ids) where id in ( ... )
NotIn findByIdNotIn(List ids) where id not in ( ... )
True findByXxTrue() where Xx = true
False findByXxFalse() where Xx = false
IgnoreCase findByNameIgnoreCase(String name) where name = ? (忽略大小写)

四、spring data jpa

https://www.cnblogs.com/chenglc/p/11226693.html

你可能感兴趣的:(MongDB)