#javascript #node.js #mongodb
Вопрос:
Я сделал такую схему:-
const mongoose = require('mongoose');
const uniqueValidator = require('mongoose-unique-validator');
const schema= mongoose.Schema;
const userschema = new schema({
name: {type :String },
panNumber: {type :String },
aadhar: {type :String},
username: {type :String },
email: {type :String,},
password: {type :String },
number:{type :String},
groups: [{type :mongoose.Types.ObjectId,required:true,ref:'Group'}],
transaction: [{type :mongoose.Types.ObjectId,required:true,ref:'Transaction'}],
shares: [{type: Number}],
portfolio:[{type: Map}],
},{
versionKey: false
});
userschema.plugin(uniqueValidator);
module.exports = mongoose.models['User'] || mongoose.model("User", userschema)
Когда я сохраняю данные, это выглядит так:-
const userModel = new UserModel({name,
panNumber,
aadhar,
username,
email,
password,
number,
groups:[],
shares:[0,0,0,0],
portfolio:[]
})
Я могу успешно сохранить файл, но когда я пытаюсь обновить значение общих ресурсов, я не могу этого сделать. (Это не выдает ошибку, а скорее показывает успешное выполнение), но данные не обновляются.
try {
if(verifyGroupId.genre == 'Gold/Silver'){
verifyUserId.shares[0] =args.amount
} if(verifyGroupId.genre == 'Stock'){
verifyUserId.shares[1] =args.amount
} if(verifyGroupId.genre == 'Cryptocurrency'){
verifyUserId.shares[2] =args.amount
} if(verifyGroupId.genre == 'Currency Exchange'){
verifyUserId.shares[3] =args.amount
}
const newTransaction = new Transaction(args);
const sess = await mongoose.startSession();
sess.startTransaction();
await newTransaction.save();
verifyGroupId.groupPayment.push(newTransaction._id);
verifyGroupId.members.push(verifyUserId._id);
verifyUserId.groups.push(verifyGroupId._id);
verifyUserId.transaction.push(newTransaction._id);
await verifyGroupId.save({ session: sess });
await sess.commitTransaction();
console.log(verifyUserId,verifyGroupId,args)
await verifyUserId.save();
return "Joined";
} catch (error) {
throw error
}
Я пытаюсь обновить значение элементов 0,1,2,3 в массиве общих ресурсов. Я могу видеть обновленный идентификатор пользователя, но после сохранения в данные он не обновляется.