Pourquoi Mangouste ne pas valider la mise à jour?

J'ai ce code

var ClientSchema = new Schema({
  name: {type: String, required: true, trim: true}
});

var Client = mongoose.mode('Client', ClientSchema);

À l'aide de l'express, j'ai créer un nouveau client avec ce code

var client = new Client(req.body);
client.save(function(err, data) {
  ....
});

Si je laisse le champ nom vide sur la forme, la mangouste ne permet pas de créer le client, car je l'ai mis comme requis sur le schéma. Aussi, si je laisse des espaces avant et après le nom, la mangouste supprimer les espaces avant de l'enregistrer.

Maintenant, j'essaie de mettre à jour un client avec ce code

var id = req.params.id;
var client = req.body;
Client.update({_id: id}, client, function(err) {
  ....
});

Il permettez-moi de changer le nom, mais si je le laisse vide sur la forme, la mangouste n'est pas de valider et d'enregistrer un nom vide. Si j'ai ajouter des espaces vides avant et après le nom, il enregistrer le nom avec des espaces.

Pourquoi mangouste valider sur enregistrer, mais pas sur la mise à jour? Je vais le faire dans le mauvais sens?

mongodb: 2.4.0
mangouste: 3.6.0
express: 3.1.0
nœud: 0.10.1 l'a

  • l'approche que vous allé de l'avant? Juste curieux, face à exactement le même problème. Pouvez-vous s'il vous plaît partagez exemple ici. Merci beaucoup.
InformationsquelleAutor Camilo | 2013-03-26