MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Índice exclusivo do MongoDB no elemento da matriz em documentos (não em documentos aninhados)


Para fazer isso, você precisa mudar algumas coisas.

Em primeiro lugar, seu esquema deve ser um index assim:
number: {
  type: String,
  index: true, // <-- This line
  unique: true
}

E, na sua opção de conexões, adicione useCreateIndex: true . Por exemplo, tenho:
const mongooseOpts = {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    useCreateIndex: true //<-- This line
};

await mongoose.connect(uri, mongooseOpts);

Então, quando você tentar adicionar um número de telefone duplicado, um erro será gerado.

Com essas duas etapas, se também não funcionar, tente remover a collection e criando novamente.