[JavaScript][NeDB] Unique Key 설정 방법

2019. 4. 9. 14:59· WEB/JavaScript
반응형

[JavaScript][NeDB] Unique Key 설정 방법


데이터를 insert 할 때 _id 제외한 다른 key 값이 중복되는 것을 막기 위한 unique 설정 방법이다.

 

nedb의 문서를 보면 indexing 부분에 unique 방법이 설명되어 있다.

nedb - indexing

 

만약, `_name` 필드에 unique 설정을 하려면 아래와 같이 선언해 주면 된다.

// local database
const Datastore = require('nedb');
const appDir = app.getPath('userData');

// nedb 파일 생성
const db = new Datastore({
    filename: './nedb.db',
    autoload: true
});

// ex) _name 필드에 Unique Key 설정
db.ensureIndex({ fieldName: '_name', unique: true }, function (err) {
    if (err) console.log(err)
});

 

nedb.db 파일을 보면 자동으로 unique 설정 옵션이 추가된다.

{"$$indexCreated":{"fieldName":"_name","unique":true,"sparse":false}}

 


주의 ! 두 개 이상의 필드를 한번에 indexing 할 수 없다.

[참고] https://github.com/louischatriot/nedb/issues/93

// ex) _name, _title 필드에 Unique Key 설정
db.ensureIndex({ fieldName: ['_name, _title'], unique: true }, function (err) {
    if (err) console.log(err)
});

위와 같이 fieldName 에 리스트로 입력하더라도, _name과 _title 이(가) 함께 indexing 되지 않고

_name, _title이 각각 unique key 로 선언되어

 

만약 {_name: 'A', _title: '1'} 과 {_name: 'A', _title: '2'} 를 추가할 경우,

`_name`이 'A'로 동일하기 때문에 에러가 발생하게 된다.

 

 

 


[출처] https://github.com/louischatriot/nedb#inserting-documents

반응형
저작자표시 비영리 변경금지 (새창열림)

'WEB > JavaScript' 카테고리의 다른 글

[JavaScript][ES6] Did you forget to signal async completion? 오류 해결 방법  (0) 2019.04.24
[JavaScript] css style 제거 하는 방법  (0) 2019.04.09
[JavaScript] 키보드 이벤트 ( 단축키 ) 생성하는 방법  (0) 2019.04.03
[JavaScript] html2canvas 사용 할 때, transform 때문에 이미지가 잘린 경우.  (0) 2019.03.20
[JavaScript] html2canvas 사용 방법  (0) 2019.02.20
'WEB/JavaScript' 카테고리의 다른 글
  • [JavaScript][ES6] Did you forget to signal async completion? 오류 해결 방법
  • [JavaScript] css style 제거 하는 방법
  • [JavaScript] 키보드 이벤트 ( 단축키 ) 생성하는 방법
  • [JavaScript] html2canvas 사용 할 때, transform 때문에 이미지가 잘린 경우.
S0PH1A
S0PH1A
반응형
S0PH1A
Web Programmer
S0PH1A
전체
오늘
어제
  • 전체
    • About Me
    • Python
      • Python
      • Django
    • DataBase
      • MySQL
      • MongoDB
    • JAVA
      • JAVA
      • Spring
    • WEB
      • JavaScript
      • HTML
      • CSS
      • Vue.js
      • React
      • Nest.js
      • Node.js
      • Electron
      • PHP
    • Linux
    • Algorithm
    • 기타
    • 생각
    • App
      • ReactNative

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • mysql
  • django
  • Error
  • Python
  • nodejs
  • electron
  • install
  • vue.js
  • vue
  • javascript

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
S0PH1A
[JavaScript][NeDB] Unique Key 설정 방법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.