NoSQL(Not Only SQL)은 "SQL뿐만 아니라"라는 뜻입니다. 기존 관계형 데이터베이스와 다른 데이터베이스 관리 시스템에 대한 일반적인 용어입니다. NoSQL은 매우 큰 규모의 데이터를 저장하는 데 사용됩니다. 이러한 유형의 데이터 저장소에는 고정된 스키마가 필요하지 않으며 중복 작업 없이 확장할 수 있습니다.
--优点: 高可扩展性 分布式计算 低成本 架构的灵活性,半结构化数据 没有复杂的关系 --缺点: 没有标准化 有限的查询功能(到目前为止) 数据展现不直观
MongoDB는 비관계형 데이터베이스 중에서 가장 풍부한 기능을 가지고 있습니다. 관계형 데이터베이스와 가장 유사합니다. 지원하는 데이터 구조는 매우 느슨하고 json과 유사한 bjson 형식이므로 더 복잡한 데이터 유형을 저장할 수 있습니다. MongoDB의 가장 큰 특징은 지원하는 쿼리 언어가 매우 강력하다는 것입니다. 구문은 관계형 데이터베이스의 단일 테이블 쿼리와 유사한 대부분의 기능을 수행할 수 있으며 인덱싱도 지원합니다. 데이터.
1) MongoDB는 C++ 언어로 작성되었으며 분산 파일 저장 기반의 오픈 소스 데이터베이스 시스템입니다.
2) 부하가 높은 조건에서는 노드를 추가하면 서버 성능을 보장할 수 있습니다.
3) MongoDB는 웹 애플리케이션을 위한 확장 가능한 고성능 데이터 스토리지 솔루션을 제공하는 것을 목표로 합니다.
4) MongoDB는 데이터를 문서로 저장하며, 데이터 구조는 키-값(키=>값) 쌍으로 구성됩니다. MongoDB 문서는 JSON 개체와 유사합니다. 필드 값에는 다른 문서, 배열, 문서 배열이 포함될 수 있습니다.
# 打开命令行 MongoDB4.0\bin>mongo # 展示所有数据库 > show databases # 新建一个admin数据库,命令比较难为情 > db.admin.insert({"name":"管理员数据库"}); # 使用admin数据库 > use admin # 创建root用户,具有读写权限 > db.createUser({user:"root",pwd:"root",roles:[{role:"readWrite",db:"admin"}]}) Successfully added user:
데이터베이스: admin
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
spring: data: mongodb: uri: mongodb://root:root@localhost:27017/admin5. 핵심 코드 블록MongoDB는 다음과 같이 사용됩니다.
public interface ImgInfoRepository { void saveImg(ImgInfo imgInfo) ; ImgInfo findByImgTitle(String imgTitle); long updateImgInfo(ImgInfo imgInfo) ; void deleteById(Integer imgId); }
import com.boot.mongodb.entity.ImgInfo; import com.boot.mongodb.repository.ImgInfoRepository; import com.mongodb.client.result.UpdateResult; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class ImgInfoRepositoryImpl implements ImgInfoRepository { @Resource private MongoTemplate mongoTemplate; @Override public void saveImg(ImgInfo imgInfo) { mongoTemplate.save(imgInfo) ; } @Override public ImgInfo findByImgTitle(String imgTitle) { Query query=new Query(Criteria.where("imgTitle").is(imgTitle)); return mongoTemplate.findOne(query,ImgInfo.class); } @Override public long updateImgInfo(ImgInfo imgInfo) { Query query = new Query(Criteria.where("imgId").is(imgInfo.getImgId())); Update update= new Update().set("imgTitle", imgInfo.getImgTitle()).set("imgUrl", imgInfo.getImgUrl()); UpdateResult result = mongoTemplate.updateFirst(query,update,ImgInfo.class); return result.getMatchedCount(); } @Override public void deleteById(Integer imgId) { Query query = new Query(Criteria.where("imgId").is(imgId)); mongoTemplate.remove(query,ImgInfo.class); } }
위 내용은 SpringBoot2에서 MongoDB 데이터베이스를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!