Mangouste save() pas de mise à jour de la valeur dans un tableau dans le document de base de données

Je suis en train de mettre à jour un document dans une collection (unités) en utilisant l'interface graphique et après il est mis à jour je veux mettre à jour la valeur (de l'utilisateur.Les unités qui est un tableau de noms d'unités) dans la collection (les utilisateurs). Si la longueur du tableau est à seulement 1 élément, il sera mis à jour et affiche également dans la base de données et tout fonctionne bien, mais lors de la Matrice des Unités ont plus d'un élément , j'essaie de le mettre à jour par le biais d'une boucle for, il montre qu'il est mis à jour mais lorsque je vérifie la base de données il n'est pas encore mis à jour.

Je ne peux vraiment pas comprendre pourquoi ses pas la mise à jour de la base de données lorsque je l'ai mise à jour de la valeur grâce à une boucle.

Ensemble de la Modifier et de la fonction de mise à jour:-

 edit_unit: function (req, res, next) {
var Data = req.body;
Client_data.Unit.findById(req.params.unitId, function (err, unit) {
var error = false;
if (err) {
error = err;
} else if (!unit) {
error = "FATAL: unable to look up Unit #" + req.params.unitId;
} else {
switch(req.body.name) {
case 'Icon':
var Icon = unit.Icon;
User.find({"Units":Icon}, function (err, users) {
if (err)
console.log(err);
users.forEach(function (u) {
if (u.Units.length > 1) {
for (var i = 0; i <= u.Units.length; i++) {
if(u.Units[i] == Icon) {
u.Units[i] = req.body.value;
}
}
}
else {
u.Units = req.body.value;
}
u.save(u);
});
});
unit[req.body.name] = req.body.value;
break;
case 'Description':
unit[req.body.name] = req.body.value;
break;
default:
unit[req.body.name] = req.body.value;
break;
}
var data = JSON.stringify(req.body);
unit.save();
res.writeHead(200, {
'Content-Length': data.length,
'Content-Type':  'application/json'
});
res.end(data);
}
});
}

req.corps:-

{ name: 'Icon',
value: 'Health Utility 22c',
pk: '5395ed107cd92dc40eaafb56' 
}

Utilisateur De Schéma:-

var userSchema = mongoose.Schema({
UserName:     { type: String, required: true },
Password:     { type: String },
FirstName:    { type: String, required: true },
LastName:     { type: String, required: true },
CompanyName:  { type: String },
PhoneNumber:  { type: Number },
StartDate:    { type: Date,   required: true },
EndDate:      { type: Date,   required: true, default: new Date('9999-12-12')  },
ClientID:     { type: ObjectId, ref: 'Client', default: null },
DepartmentID: { type: ObjectId, ref: 'Department' },
ManagerID:    { type: ObjectId, ref: 'User', default: null},
Units:        [ { type: String, required: true } ],
UserList:      { type: Array, default:[]},
Access:    [{ type: String, enum: ['DEMO', 'USER','MANAGER','ADMINISTRATOR','OWNER']}],
Credentials:  { type: String },
AFTE:         { type: Number},
SessionID:    { type: String, default: null }
}, { safe: true });
  • Pouvez-vous modifier votre question d'inclure la définition de schéma pour User?