sql >> Base de Datos >  >> NoSQL >> MongoDB

Índice único de MongoDB en el elemento de la matriz en los documentos (no en el documento anidado)

Para hacer esto necesitas cambiar algunas cosas.

En primer lugar, su esquema debe ser un index así:

number: {
  type: String,
  index: true, // <-- This line
  unique: true
}

Y, en su opción de conexiones, agregue useCreateIndex: true . Por ejemplo, tengo:

const mongooseOpts = {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    useCreateIndex: true //<-- This line
};

await mongoose.connect(uri, mongooseOpts);

Luego, cuando intente agregar un número de teléfono duplicado, se generará un error.

Con estos dos pasos, si tampoco funcionó, intente eliminar la collection y creando de nuevo.