Я новичок в Монго/Mongoose и у меня возникают проблемы, как выполнить следующую вещь:Добавление/удаление элементов в Мангуста соответственно
Я создаю простое приложение, где он использует Yelp API, чтобы найти ночной клуб/бары вокруг области, где пользователь может искать.
Пользователи представляют список клубов, и каждый список имеет форму для отправки в mongodb, которая может отслеживать других пользователей, зарезервированных для этого конкретного клуба.
Я сделал схему Clubs
const clubSchema = new Schema({
clubID: String,
guests: [String]
})
где clubID является ID и гости клуба просто массив строк, которые будут держать след USERNAMES.
Я хочу сделать следующую вещь:
1) Когда конкретный clubID
не существует в базе данных, она будет создавать новую и вставить userName
в guests
2) Если clubID
существует и userName
не существует в guests
(что означает, что это другой пользователь), он будет толкать userName
в guests
массив
3) если clubID
существует и userName
существует в guests
, а также, удалить которые userName
из guests
Я следующий псевдокод:
exports.UpdateGuestList = function(req, res, next){
const clubID = req.params.clubID;
const userName = req.params.userName
const userEmail = req.params.userEmail;
Club.findOne({ clubID: clubID}, function(err, existingClub){
if (err) { return next(err) ;}
// if clubID exist in the data base, check the following
if (existingClub){
//1) if the current userName exist, remove it from guests array
if (existingClub.guests.includes(userName)){
console.log('Remove guest')
} else{ //2) if the current userName doesnt exist, push it into guests aaray
console.log('Push in gueest')
}
return res.send({"message": "done"})
}
// If clubID does not exist, create and save clubID
const club = new Club({
clubID: clubID,
guests: [userName]
})
club.save(function(err){
if (err) {return next(err)}
res.send({"message": "done"})
})
})
}
что вам нужно? – Codesingh
По существу следуйте логике 1) 2) и 3) – Alejandro