Последние пять дней я бился головой о клавиатуру, пытаясь создать систему последователей, которая на бумаге кажется простой, но из-за своей некомпетентности я не смог ее решить.
Это моя схема:
var accountSchema = new Schema({
fname: {type: String, required: true, trim: true},
lname: {type: String, required: true, trim: true},
username: {type: String, required: true, unique: true, trim: true},
bio: String,
email: {type: String, required: true, trim: true},
password: {type: String, required: true},
date: { type: Date, default: Date.now },
accountType: String,
posts: [{body:String, owner: String, comments:[{owner:String, comment:
String, date:Date}], likes:[{liker: String}], date: { type: Date,
default: Date.now }}],
following: [{username: String}],
followers: [{username: String}],
notifications: [{owner: String, date: Date, post:Number}]
});
Это моя конечная точка:
api_follow: function(req, res){
account.findOne({'username': req.session.accountid}, function(err, account){
if(err || !account){
res.send(err);
}else{
account.following.findOne({'username': req.body.following}, function(err, account){
//if username isnt found in following list add it,
//if username is found in following list remove it
});
}
});
Это была моя первая попытка найти поддок, я знаю, что это неверносейчас, но все мои другие попытки также потерпели неудачу.Я пытаюсь найти учетную запись, а затем проверить, если это уже пользователь.Если аккаунт уже подписан на пользователя, мы удаляем его, если нет, то добавляем.Затем я переключил бы некоторые имена переменных и сделал бы аналогичную функцию для следующего пользователя, чтобы добавить учетную запись в список его последователей.