网站模板建设,二月网站建设南宁,在公司的小语种网站上,wordpress 网站赏析一、概述MongoDB中的记录是一个文档#xff0c;它是一个数据结构组成 字段和值对。MongoDB文档类似于JSON。对象。字段的值可能包括其他文档、数组、 和文档数组#xff1a;数据库#xff08;Database#xff09;#xff1a;和关系型数据库一样#xff0c;每个数据库中有…一、概述MongoDB中的记录是一个文档它是一个数据结构组成 字段和值对。MongoDB文档类似于JSON。对象。字段的值可能包括其他文档、数组、 和文档数组数据库Database和关系型数据库一样每个数据库中有自己的用户权限不同的项目组可以使用不同的数据库集合Collection 集合指的是文档组类似于 Mysql 中的表的概念里面可以存储许多文档文档Document 文档是 MongoDB 中最基本的数据单元由键值对组成类似于 JSON 格式可以存储不同字段字段的值可以包括其他文档、数组和文档数组官网https://www.mongodb.com/二、主要特点1、高性能MongoDB提供高性能的数据持久性。特别对嵌入式数据模型的支持减少了数据库上的 I/O 活动 系统。索引支持更快的查询并且可以包含来自嵌入式的键 文档和数组。2、查询接口MongoDB Query API 支持读写 操作CRUD以及数据聚合文本搜索和地理空间查询。3、高可用性MongoDB的复制工具称为副本集提供自动故障转移数据冗余。一个副本集是一组 维护相同数据集的MongoDB服务器提供冗余 以及提高数据可用性。4、水平可扩展性MongoDB提供水平可扩展性作为其核心功能的一部分分片跨 计算机群集。从3.4开始MongoDB支持创建区的数据基于分片键.在一个 平衡集群MongoDB直接读取和写入区域覆盖 只到区域内的那些碎片。请参阅的区手册页了解更多信息。5、支持多个存储引擎MongoDB支持多个存储引擎WiredTiger 存储引擎包括对静态加密) In-Memory存储引擎。此外MongoDB提供了可插拔的存储引擎API允许 为MongoDB开发存储引擎的第三方6、MongoDB的体系结构与术语MongoDB 是最像关系型数据库的非关系型数据库之所以这样子说是因为它的体系结构和MySQL 是比较像的。我们通过对比的形式对 MongoDB 的体系结构做一个初步的了解。SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument表中的一条数据columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary keyprimary key主键,MongoDB自动将_id字段设置为主键三、SpringBoot整合MongoDB1、添加MongoDB依赖Spring Data MongDB 是Spring Data的下的一个模块在SpringBoot中整合MongoDB就需要添加Spring Data MongDB的依赖dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb/artifactId
/dependency2、配置文件spring:data:mongodb:host: 192.168.136.160port:27017database:leousername:adminpassword:1234563、实例代码主要注解Document文档是 MongoDB 中最基本的数据单元由键值对组成类似于 JSON 格式可以存储不同字段字段的值可以包括其他文档数组和文档数组。Id主键用来将成员变量的值映射为文档的_id的值Indexed索引 索引是一种特殊的数据结构存储在一个易于遍历读取的数据集合中能够对数据库文档中的数据进行排序。索引能极大提高文档查询效率如果没有设置索引MongoDB 会遍历集合中的整个文档选取符合查询条件的文档记录。这种查询效率是非常低的。Field字段 文档中的字段类似于 MySql 中的列。Aggregation聚合 聚合主要用于数据处理例如统计平均值、求和等。import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;Document(collection Book)
public class Book {Idprivate String id;private String title;private String author;private String summary;public String getId() {return id;}public void setId(String id) {this.id id;}public String getTitle() {return title;}public void setTitle(String title) {this.title title;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author author;}public String getSummary() {return summary;}public void setSummary(String summary) {this.summary summary;}
} SpringBoot操作MongoDB有两种方式分别是继承MongoRepository类和service注入MongoTemplateRepository是用于操作数据库的类package com.palmer.rachelle.javaspringmongodb.repository;
import com.palmer.rachelle.javaspringmongodb.model.Book;
import org.springframework.data.mongodb.repository.MongoRepository;
import java.util.List;public interface BookRepository extends MongoRepositoryBook, String {ListBook findByTitleStartsWithOrAuthor(String title, String author);
}