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

mangosta única:cierto no funciona

Esto sucede porque está guardando el documento duplicado antes de mongoose ha terminado de crear el índice. Mongoose crea los índices sobre la marcha, después de que se haya iniciado la aplicación.

Entonces, para asegurarse de que su documento se guarde solo después de que se crearon los índices, debe escuchar el index evento de su modelo. Por ejemplo:

Model.on('index', function (error) {
  console.log(jp);
  jp.save(function(err){
    console.log(err);
    var jp2 = new Model({ phone: "123456"});
    console.log(jp2);
    jp2.save(function(err){
      console.log(err);
      process.exit();
    });
  })
});

Ahora, cuando intente guardar el segundo documento (el duplicado), su MongoDB generará un error, porque su save las llamadas solo se ejecutarán después de que se crearon los índices.