Я хочу обновить одну переменную объекта в массиве внутри моего документа. У меня есть документ событий и массив пользователей, прикрепленный к этому событию. Так что у меня есть конкретный идентификатор пользователя. Итак, во-первых, возможно ли найти этого пользователя в массиве пользователей с запросом Mongoose? Поскольку у меня есть документ событий, и внутри у меня есть массив User. После нахождения этого пользователя я хочу обновить его одну переменную.
exports.disableUsers = (req, res, next) => {
let User;
users: req.body.users; ///users Array
for (var i = users.length - 1; i >= 0; i--) {
if (users[i] == req.params.id1) {
User = users[i]; ////Particular User
break;
}
}
Event.updateOne(
{ _id: req.params.id },
{
///don't Know how to Update??
}
)
.then(result => {
console.log(result);
if (result.n > 0) {
res.status(200).json({ message: "Verification successful!" });
} else {
res.status(401).json({ message: "Not authorized!" });
}
})
.catch(error => {
res.status(500).json({
message: "Verifying events failed!"
});
});
};
Выше моя disableusers
функция. Так что кто-нибудь может рассказать, как найти и обновить конкретного пользователя в массиве объектов внутри документа события. И мой eventSchema
выглядит так:
const eventSchema = mongoose.Schema({
title: { type: String, required: true },
content: { type: String, required: true },
imagePath: { type: String, required: true },
startDate: { type: Date, required: true },
endDate: { type: Date, required: true },
category: { type: String, required: true },
is_private : { type: Boolean},
max_users: {type: Number},
eventFee: {type: Number},
event_manager: [{ name: String, phone: String, email: String }],
address: [{ street: String, city: String, state: String, country: String, zipcode: String }],
creator: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
verify:{type:Boolean,required:true},
users:[{id:String,email:String,PhoneNum:String,firstName:String,lastName:String,city:String,disable:{type:Boolean,default:false}}]
});