Docs Menu
Docs Home
/ / /
몽고이드
/ /

쿼리에서 데이터 유지

이 가이드 에서는 Mongoid에서 쿼리의 데이터를 유지하는 방법을 학습 수 있습니다. Mongoid는 제한된 용량 으로 기준을 벗어난 지속성 작업을 지원하므로 다중 문서 삽입, 업데이트 및 삭제 작업을 명시적으로 수행할 수 있습니다.

필터하다 기준 만들기에 대해 자세히 학습 문서 쿼리 지정 가이드 참조하세요.

CRUD 작업 수행에 대해 자세히 학습 데이터 작업 수행 가이드 참조하세요.

이 섹션에서는 MongoDB 컬렉션에서 데이터를 생성, 업데이트 및 삭제 위해 쿼리에 연결할 수 있는 메서드에 대해 설명합니다.

다음 방법을 사용하여 쿼리 기준에서 새 문서를 만들 수 있습니다.

  • create: 모델 인스턴스 MongoDB 에 저장합니다.

    • 예시: Band.where(name: 'Daft Punk').create

  • create!: 모델 인스턴스 MongoDB 에 저장하거나 유효성 검사 오류가 발생하면 예외를 발생시킵니다.

    • 예시: Band.where(name: 'Daft Punk').create!

  • build: 저장되지 않은 모델 인스턴스 생성합니다.

    • 예시: Band.where(name: 'Daft Punk').build

  • new: 저장되지 않은 모델 인스턴스 생성합니다.

    • 예시: Band.where(name: 'Daft Punk').new

다음 방법을 사용하여 쿼리 기준에 따라 문서를 업데이트 수 있습니다.

  • update: 일치하는 첫 번째 문서 의 속성을 업데이트합니다.

    • 예시: Band.where(name: 'Sundown').update(label: 'ABC Records')

  • update_all: 일치하는 모든 문서의 속성을 업데이트합니다.

    • 예시: Band.where(country: 'Canada').update_all(label: 'ABC Records')

  • add_to_set: 일치하는 모든 문서의 지정된 배열 에 값을 추가합니다.

    • 예시: Band.where(name: 'Sun Down').add_to_set(label: 'ABC Records')

  • bit: 필드 의 비트 단위 업데이트 수행합니다.

    • 예시: Band.where(name: 'Sun Down').bit(likes: { and: 14, or: 4 })

  • inc: 필드 값을 증가시킵니다.

    • 예시: Band.where(name: 'Sun Down').inc(likes: 14)

  • pop: 배열 필드 의 첫 번째 또는 마지막 요소를 제거합니다.

    • 예시: Band.where(name: 'Sun Down').pop(members: -1)

  • pull: 배열 필드 에서 지정된 조건과 일치하는 값의 모든 인스턴스를 제거합니다.

    • 예시: Band.where(name: 'Sun Down').pull(members: 'Jonah Larsen')

  • pull_all: 배열 필드 에서 지정된 값의 모든 인스턴스를 제거합니다.

    • 예시: Band.where(name: 'Sun Down').pull_all(:members, [ 'Jonah Larsen', 'Dan Jones' ])

  • push: 지정된 값을 배열 필드 에 추가합니다.

    • 예시: Band.where(name: 'Sun Down').push(members: 'Jonah Larsen')

  • push_all: 배열 필드 에 $each 연산자 사용하여 지정된 값을 추가합니다.

    • 예시: Band.where(name: 'Sun Down').push_all(members: [ 'Jonah Larsen', 'Dan Jones' ])

  • rename: 일치하는 모든 문서에서 필드 이름 변경

    • 예시: Band.where(name: 'Sun Down').rename(name: :title)

  • set: 일치하는 모든 문서에서 지정된 필드 에 새 값을 설정합니다.

    • 예시: Band.where(name: 'Sun Down').set(likes: 10000)

  • unset: 일치하는 모든 문서에서 특정 필드 삭제합니다.

    • 예시: Band.where(name: 'Sun Down').unset(:likes)

다음 방법을 사용하여 쿼리 기준에 따라 문서를 삭제 수 있습니다.

  • delete: 일치하는 모든 문서를 삭제합니다.

    • 예시: Band.where(label: 'ABC Records').delete

  • destroy: 콜백을 실행 동안 일치하는 모든 문서를 삭제합니다. 이 메서드는 모든 문서를 메모리로 로드합니다.

    • 예시: Band.where(label: 'ABC Records').destroy

지속성 대상을 사용자 지정하는 방법을 학습 지속성 구성 가이드 참조하세요.

돌아가기

범위 지정

이 페이지의 내용