я пытаюсь обновить коллекцию MongoDB без успеха на некотором значении, его обновление одно поле, а не другой, вот мой код,
схема:node.js мангуст не может обновить некоторые поля
var clientSchema = new mongoose.Schema({
emailaddress: {type: String, index: {unique: true}}
, firstname: String
, lastname: String
, domainname: String
, company: String
, password: String
, plan: String
, datePayment: {type: Date, default: Date.now}
, experationPayment: {type: Date, default: Date.now}
});
код, используемый для обновления коллекции
model.findById(id, function (error, data) {
if (error) {
...
}
else {
if (!data) {
...
}
else {
console.log('data before:', data);
var date = new Date();
var expTime = data.experationPayment;
var comp = new Date();
if (date.getTime() > expTime.getTime()) {
comp = date;
}
else {
comp = expTime;
}
comp.setMonth(comp.getMonth() + month);
data.plan = plan;
data.datePayment = date;
data.experationPayment = comp;
console.log('data after:', data);
data.save(function (error) {
if (!error) {
console.log('plan successfully updated '); res.redirect('/dashboard?message=plan successfully updated');
}
else {
res.json({
message: 'error your plan wasnt saved.'
});
}
});
}
}
});
и вот результат консоли, с мангуст отладки включен
Mongoose: clients.findOne ({_ID: ObjectId ("57aa0403b8f3786d09d8c626")}) {поля: неопределенные}
данных перед: {datePayment: 2016-08-09T18: 03: 07.501Z,
experationPayment: 2016 -09-09T16: 37: 34.654Z,
план: 'стартер',
__v: 0,
пароль: 'а',
EMAILADDRESS: 'а',
Lastname: 'а',
имя: 'a',
_id: 57aa0403b8f3786d09d8c626}
данные после того, как: {datePayment: 2016-08-09T18: 46: 10.131Z,
experationPayment: 2017-09-09T16: 37: 34.654Z,
план: 'стартер',
__v: 0,
пароль: 'а',
EMAILADDRESS: 'а',
Lastname: 'а',
Firstname: 'а',
_id: 57aa0403b8f3786d09d8c626}
Mongoose: clients.update ({_id: ObjectId ("57aa0403b8f3786d09d8c626")}) {'$ set': {datePayment: new Date ("Вт, 09 авг. 2016 18:46:10 GMT ")}}
план успешно обновлен
Mongoose: clients.findOne ({_id: ObjectId (" 57aa0403b8f3786d09d8c626")}) {поля не определено}