몽구스 고유의 작동하지 않음

사용자 스키마가 있고 이메일 필드가 고유하기를 원합니다.

import { Schema } from 'mongoose';

const userSchema = new Schema({
    password: { type: String, required: true },
    email: { type: String, required: true, unique: true },
});

export default user schema;


하지만 작동하지 않습니다! , 이것이 작동하지 않는 몇 가지 이유는 다음과 같습니다.

1. 이 속성을 정의하기 전에 이미 DB에 생성된 중복 문서



데이터베이스에 이미 중복 데이터를 추가했을 수 있으므로 mongoose와 MongoDB는 이미 엉망이기 때문에 고유 필드를 확인하지 않습니다.

문제를 해결하려면 MongoDB 컬렉션 페이지에서 엉망인 데이터를 삭제하세요.

2. 자동 인덱싱 또는 인덱스 생성이 false인 경우



데이터를 자동 인덱싱하도록 지정하지 않은 경우
즉, 독창성을 확인하기 위해 몽구스는 그렇게하지 않을 것입니다.

데이터베이스에 연결하는 동안 단순히 true로 만드십시오.

mongoose
    .connect('connection url', {
        useUnifiedTopology: true,
        useNewUrlParser: true,
        useCreateIndex: true, //make this true
        autoIndex: true, //make this also true
    })
    .then(() => {
        console.log('Connected to mongoDB');
    });


읽어주셔서 감사합니다, 하트 ❤️ , 유니콘 🦄이 좋았다면, 좋아했다면 팔로우

좋은 웹페이지 즐겨찾기