Kudos
Collect
Twiiter
Facebook
Share

몽고디비 mongoDB

Last updated 1 months ago
0 0 0 0

연산자

연산자설명
$set도큐먼트의 속성값을 변경
$unset도큐먼트의 속성을 삭제
$rename도큐먼트의 속성 이름 변경
$inc필드 값 증가
$mul필드 값에 곱하기
$min지정한 값과 현재의 값 중 작은 값 선택
$max지정한 값과 현재의 값 중 큰 값 선택
$currentDate현재 날짜와 시간을 필드에 업데이트
$addToSet배열 필드가 아직 없는 경우 해당 필드에 값 추가
$pop배열 필드에서 첫 번째 혹은 마지막 값을 삭제
$pull배열 필드에서 모든 값을 삭제
$push배열 필드의 끝에 값을 추가
$each여러 개의 값을 추가해 배열 필드 수정

스키마 생성 시 선언 가능한 타입

타입설명과 예시
String속성을 문자열로 선언 const schema = new Schema({ name: String })
Number속성을 숫자로 선언 const schema = new Schema({ age: Number} )
Date속성을 날짜 타입으로 선언
Buffer속성을 버퍼로 선언 const schema = new Schema({ binData: Buffer })
Boolean속성을 부울로 선언 const schema = new Schema({ b: Boolean})
Mixed무엇이든 가능한 타입 const schema = new Schema({ any: {} })
ObjectId몽고디비에서 고유한 식별자로 사용 const schema = new Schema({name: String})
Array배열은 [] 기호를 사용해 선언 const schema = new Schema({name: [String]}) 다른 문서를 배열의 값으로 사용할 수도 있다. const address = new Schema({ addr: String }); const addresses = new Schema( addrs: [address]);
Decimal128128비트 10빈수 부동소수점을 사용 시에 선언 const f = new Schema({ f: Decimal128 })
Map자바스크립트 Map의 하위 클래스인 MongooseMap 타입으로 선언할 수 있다. const site = new Schema({ url: { type: Map, of: String } });
Schema특정 스키마 타입으로 타입을 선언할 수 있다. const subSchema = new Schema({ // 스키마 선언 }); const schema = new Schema({ data: { type: subSchema, default: {} } });

스키마 생성 시 추가 속성

속성타입설명 및 예시
requiredboolean or function해당 속성이 필수인지 여부 email: { type: String, required: true }
defaultAny or function기본값 설정, 함수인 경우 함수의 반환값 email: { type: String, default: ‘no email’ }
selectboolean쿼리 수행 시 기본적으로 선택되는 값인지 여부 email: { type: String, select: true }
validatefunction유효성 검증 함수 추가가능 email: { type: String, validate: () => { return this.email.indexOf(‘@’) > 0; }}
getfunction커스텀 get 함수 설정 name: { type: Stirng, get: v => v.toLowerCase() }
setfunction커스텀 set 함수 설정 name: { type: String, set: v => v.toUpperCase() }
aliasString속성으로 이루어진 이름이 아닌 별칭 사용 시 사용 name: { type: String, alias: ‘n’ }
immutablebooleantrue로 설정 시 값을 변경할 수 없음 age: { type: Number, immutable: true }
transformfunctionDocument#toJSON()을 호출하면 transform에 지정된 함수 실행, JSON.stringify() 시에도 실행 name: { type: String, transform: v => v.toLowerCase() }
indexboolean해당 속성에 인덱스를 정의한지 여부 name: { type: String, index: true }
uniqueboolean해당 속성에 유니크 인덱스를 정의할지 여부 name: { type: String, unique: true }
sparseboolean해당 속성에 희소 인덱스를 정의할지 여부 name: { type: String, sparse: true }
Essedrop - Make your file online instantly
 

Responses

Leave a response to @lime1st

Please sign in to comment.
Markdown is also available in comment.