문서 메뉴
문서 홈
/ /
Atlas App Services

MongoDB 데이터 소스에 연결

이 페이지의 내용

  • 개요
  • 데이터 읽기, 쓰기 및 애그리게이션
  • 데이터 보안 및 유효성 검사
  • 데이터 자동 동기화
  • 변화하는 데이터에 대한 React
  • 데이터 소스 연결
  • 데이터 소스 관리 화면으로 이동
  • 새 데이터 소스 연결
  • 연결된 데이터 소스 저장
  • 앱의 최신 버전 가져오기
  • 데이터 소스 구성 디렉토리 만들기
  • 데이터 소스 구성 파일 추가
  • 데이터 소스 구성 배포
  • 데이터 소스 제한
  • Atlas Data Federation
  • Serverless Instances

데이터 소스 는 앱과 동일한 프로젝트에 있는 MongoDB Atlas 인스턴스를 나타냅니다. 데이터 소스를 사용하여 애플리케이션의 데이터를 저장하고 검색합니다.

대부분의 앱은 단일 데이터 소스에 연결하지만, 데이터가 여러 인스턴스에 분산되어 있는 경우에는 여러 데이터 소스를 구성할 수 있습니다. 애플리케이션에 연결된 각 데이터 소스에 대해 고유한 이름을 정의하고 이 이름을 사용하여 앱 전체에서 데이터 소스를 참조할 수 있습니다.

데이터 소스에 대한 요청은 Atlas App Services를 통해 라우팅됩니다. 이 때문에 App Services는 데이터베이스 연결을 자동으로 열고 닫습니다. 즉, 데이터 소스를 사용할 때 db.close()를 호출할 필요가 없습니다.

참고

백엔드 암호화

App Services와 Atlas 간의 모든 내부 통신은 x509 인증서로 암호화됩니다.

서버 측 함수에서 데이터 소스의 데이터를 읽고 쓰거나, 클라이언트 애플리케이션에서 연결할 수 있습니다. 표준 MongoDB 쿼리 구문을 사용하여 쿼리를 작성합니다.

exports = async function() {
const mongodb = context.services.get("mongodb-atlas");
return mongodb
.db("myDatabase")
.collection("myCollection")
.findOne()
}

Atlas Function에서 데이터 소스로 작업하는 방법을 알아보려면 다음 가이드를 참조하세요.

Realm SDK의 데이터 소스로 작업하는 방법을 알아보려면 클라이언트 앱에서 Atlas 쿼리를 참조하세요.

참고

연결된 데이터 소스는 모든 MongoDB CRUD 및 애그리게이션 작업을 지원하지 않습니다. 특정 사용자로 MongoDB를 쿼리하는 경우 스키마 검증 및 데이터 액세스 규칙의 오버헤드로 인해 일부 작업을 사용할 수 없습니다. 대신 시스템 사용자로 MongoDB를 쿼리하여 일부 제한을 우회할 수 있습니다.

지원되는 작업에 대한 자세한 내용은 CRUD 및 애그리게이션 API를 참조하세요.

데이터 소스를 사용하면 해당 소스에 포함된 데이터에 대한 액세스 규칙문서 스키마를 정의할 수 있습니다. 규칙은 사용자에게 데이터의 하위 집합을 읽고 쓸 수 있는 권한을 동적으로 부여하고 스키마는 각 문서의 모양과 내용을 제어합니다.

연결된 데이터 소스에 대한 읽기 및 쓰기 작업은 기본적으로 안전합니다. 규칙에서 명시적으로 허용하지 않은 경우, 사용자는 데이터를 읽거나 쓸 수 없습니다. 권한이 있는 사용자가 삽입하거나 수정한 모든 데이터는 해당 스키마를 준수해야 합니다.

컬렉션에 대한 규칙을 정의하지 않으면 컬렉션에 대한 쿼리가 실패합니다. 즉, 클라이언트 애플리케이션에서 적절하게 구성된 데이터 소스 인터페이스를 데이터 손상이나 유출의 위험 없이 안전하게 노출할 수 있습니다.

Atlas Device Sync 애플리케이션은 데이터를 저장하고 데이터 변경 사항을 동기화된 클러스터라고 하는 연결된 클러스터에 동기화합니다. 동기화 프로토콜은 데이터가 모든 동기화 클라이언트와 동기화된 클러스터에서 최종적으로 일관성을 유지하도록 합니다.

Atlas Device Sync 및 앱의 데이터 소스와 상호 작용하는 방식에 대해 자세히 알아보려면 Atlas Device Sync를 참조하세요.

참고

동기화에 버전 4.4 필요

Atlas Device 동기화를 사용하려면 클러스터에서 MongoDB 버전 4.4 이상을 실행해야 합니다.

데이터 변경에 따라 자동으로 함수를 실행하는 데이터베이스 트리거를 생성할 수 있습니다. 트리거는 MongoDB Change Stream을 사용하여 데이터 소스를 관찰하고 변경 이벤트가 트리거 구성과 일치할 때마다 함수를 실행합니다. 트리거 함수는 임의의 코드를 실행할 수 있으며 변경 이벤트에 액세스하여 실행을 유발한 변경 사항에 대한 자세한 정보를 확인할 수 있습니다.

트리거의 작동 방식과 직접 트리거를 정의하는 방법에 대해 자세히 알아보려면 데이터베이스 트리거를 참조하세요.

중요

트리거는 Change Stream을 지원하는 데이터 소스에서만 사용할 수 있습니다. 연합 데이터베이스 인스턴스 또는 서버리스 Atlas 인스턴스에서는 트리거를 정의할 수 없습니다.

앱에 구성된 데이터 소스는 Atlas의 기본 인스턴스에 연결됩니다. 여러 인스턴스를 앱에 연결할 수 있으며 동일한 기본 인스턴스에 연결되는 여러 데이터 소스를 만들 수도 있습니다.

App Services UI에서 새 연결된 데이터 소스를 구성하거나, App Services CLI 또는 GitHub 배포를 통해 구성 파일을 정의하고 푸시하여 구성할 수 있습니다:

연결된 데이터 소스는 여러 인스턴스 MongoDB Atlas 인스턴스 유형 중 하나를 나타낼 수 있습니다. 기본 인스턴스의 유형에 따라 일부 기능이 지원되지 않을 수 있습니다.

데이터 소스를 연결한 후에는 기본 인스턴스 유형을 변경할 수 없습니다. 대신 새 데이터 소스를 다른 인스턴스 유형과 연결할 수 있습니다.

연합 데이터베이스 인스턴스 를 앱에 MongoDB 데이터 소스로 연결할 수 있습니다. 그러나 Atlas Data Federation으로 작업할 때 유의해야 할 몇 가지 주의 사항이 있습니다.

서버리스 인스턴스 를 앱에 MongoDB 데이터 소스로 연결할 수 있습니다. 그러나 서버리스 인스턴스는 현재 변경 스트림을 지원하지 않으므로 다음 기능이 제한됩니다.

  • 서버리스 인스턴스에서는 데이터베이스 트리거를 만들 수 없습니다.

  • 서버리스 인스턴스는 앱의 Device Sync 클러스터로 사용할 수 없습니다.

  • 서버리스 MongoDB Atlas 인스턴스인 변경 데이터 소스에 대한 컬렉션을 볼 수 없습니다.

← Okta JWT 인증(사용자 지정 JWT)