Ich versuche eine following/follower-Funktion für eine nodejs/mongoose-getriebene Webseite hinzuzufügen. Ich habe Probleme mit der korrekten Speicherung der ID mit den folgenden Methoden. Nicht ganz sicher, was schief läuft, aber es scheint, nur die ID richtig in den folgenden Teil zu speichern, aber die Nachfolger für den ersten Teil nicht zu aktualisieren.Mungo Follower/Follower
Ich weiß, es wäre einfach, wenn die Benutzer-ID nur an die Post-Anfrage übergeben wird, aber ich dachte, Speichern der Benutzer-ID auf dem Front-End ist eine Art von Sicherheitsproblem, so einfach mit dem Benutzernamen, um die ID zu bekommen sei besser.
// Handles the post request for following a user
router.post('/follow-user', function(req, res, next) {
// First, find the user from the user page being viewed
User.findOne({ username: req.body.username }, function(err, user) {
// Add to users followers with ID of the logged in user
user.followers = req.user._id;
// Create variable for user from page being viewed
var followedUser = user._id;
// Save followers data to user
user.save();
// Secondly, find the user account for the logged in user
User.findOne({ username: req.user.username }, function(err, user) {
// Add the user ID from the users profile the follow button was clicked
user.following = followedUser;
// Save following data to user
user.save();
});
});
});
Der Benutzer Modell sieht als solche
var userSchema = new Schema({
username: { type: String, required: true, unique: true },
password: { type: String, required: true },
email: { type: String, required: true },
avatar: { type: String },
bio: { type: String },
following: [{ type: Schema.ObjectId, ref: 'User' }],
followers: [{ type: Schema.ObjectId, ref: 'User' }],
});
Einsicht auf diesem würde sehr geschätzt.
können Sie zeigen, wohin Sie die Antwort zurück an das Frontend senden? –