데이터베이스에서 JSON 저장 및 쿼리
MongoDB에 대해 들어본 적은 있지만, 그 개념을 완전히 이해하지는 못할 것 같습니다.
MongoDB에 여러 JSON 오브젝트가 저장되어 있는 경우:
[{"id": "peter",
"age": "12",
"gender": "male"},
{"id": "gemma",
"age": "12",
"gender": "female"},
{"id": "paul",
"age": "13",
"gender": "male"}]
모든 JSON 개체를 쿼리하려면 어떻게 해야 합니까?age >= 12
?
우선 JSON은 단순한 시리얼라이제이션 기술임을 이해해 주십시오.이 시리얼화 방법 자체는 영속성 미디어를 결정하지 않을 수 있습니다.표면적으로 질문을 살펴보면 SQL을 사용하여 데이터에 대해 유연한 방식으로 쿼리할 수 있는 일반적인 관계형 스토리지 데이터베이스를 찾고 있는 것 같습니다.
이러한 관계형 데이터베이스에서 검색한 후에 JSON 데이터를 저장하거나 표시하기 위해 직렬화/비직렬화하는 것은 거의 모든 프로그래밍 언어에서 사소한 일입니다.
JSON 문서의 다양한 부분(또는 다른 종류의 문서)을 실제로 저장해야 하는 경우 MongoDB와 같은 NoSQL 유형의 솔루션을 검토하기 시작합니다.보다 일반적인 NoSQL 데이터베이스를 사용할 때 생각할 수 있는 또 하나의 시나리오는 대량의 데이터를 처리할 때 수평으로 확장해야 하는 경우입니다(데이터가 너무 커서 여러 서버에 걸쳐 데이터베이스를 확장해야 합니다).많은 NoSQL 시스템은 기존의 관계형 DB보다 훨씬 쉽게 이 작업을 수행할 수 있도록 합니다.물론 이러한 시나리오에서는 사용 사례에 가장 유용한 방식으로 데이터를 읽고, 쓰고, 쿼리할 수 있도록 제공하는 기능에 따라 이러한 도구를 평가해야 합니다.
5.7부터 MySQL에는 네이티브 JSON 데이터형이 있습니다.테이블이 호출된 경우students
JSON 컬럼은student
MySQL 5.7에서는 선택 내용을 다음과 같이 쓸 수 있습니다.
SELECT * FROM students WHERE JSON_EXTRACT(student, '$.age') = 12;
MongoDB는 JSON과 유사한 BSON 형식으로 데이터를 저장합니다.데이터를 JSON 형식으로 저장할 수 있으며 모든 필드에 대해 조회를 수행할 수 있습니다.주요 조회에 사용되는 특정 필드를 인덱싱할 수도 있습니다.
당신은 MongoDB에만 국한된 것이 아닙니다.당신의 질문을 보니 Document Store가 당신의 요구에 맞는 것 같습니다.자세한 내용은 이쪽:- http://en.wikipedia.org/wiki/Document-oriented_database
모든 객체의 필드(ID, 연령, 성별 등)가 동일한 경우 객체를 일부 관계형 데이터베이스(예: MySQL)의 행으로 저장해야 합니다.
의 mongodb 쉘 쿼리는 다음과 같습니다.
db.people.find({"age": {gt:12 }});
Couchbase N1QL 쿼리는 다음과 같습니다.
SELECT * FROM people WHERE age >= 12;
상세한 것에 대하여는, https://query-tutorial.couchbase.com/tutorial/#1 을 참조해 주세요.
언급URL : https://stackoverflow.com/questions/19189849/storing-and-querying-json-from-a-database
'source' 카테고리의 다른 글
Extractor를 사용하여 요소에 클래스가 있는지 테스트하는 방법 (0) | 2023.03.25 |
---|---|
휴지 모드와 스프링 데이터 JPA의 차이점은 무엇입니까? (0) | 2023.03.25 |
리액트 라우터 v6에서 리다이렉트하려면 어떻게 해야 하나요? (0) | 2023.03.25 |
Angular에서 브로드캐스트 이벤트를 테스트하려면 어떻게 해야 합니까?JS (0) | 2023.03.25 |
wp-config를 사용하여 워드프레스로 SSL을 올바르게 강제합니다.php (0) | 2023.03.25 |