Sto progettando di creare un percorso in cui un utente possa aggiungere un altro utente come suo amico, in modo che possano chattare tra loro una volta che sono amici.Modo corretto per aggiungere un percorso amico in node.js e mangusta?
Quindi, in pratica, una volta l'utente A ha inviato una richiesta all'utente B, l'utente B otterrà una notifica dal vivo circa la richiesta via socket.io
Il problema ora è che, non ho potuto venire con la mia soluzione su come implementare lo scenario di cui sopra, da quello che so, dovrei creare due percorsi GET
e POST
sto usando mangusta per query di database, inserire, aggiornare e cancellare
Ecco il mio codice
012.// GET route for getting the user's information -- Simple route
router.get('/users/:facebook_name', function(req, res) {
User.findOne(facebook_name, function(err, user) {
if (!user) {
res.json({message: "Couldn't find a user by that name"});
return;
}
res.json(user);
});
});
// POST route for adding a friend
router.post('/friendships/create/:facebook_name', ensureAuthenticated, function(req, res) {
// What should i put in this route to make the adding a friend feature works?
User.findOneAndUpdate(facebook_name, function(err, user) {
if (user) {
res.json({message: "You already send a friend request to that person"});
return;
}
// Send a live notification to the other user
socket.emit('sending request', {message: "added you as a friend"});
});
});
codice schema utente - Non proprio sicuro di questo uno o
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserSchema = new Schema({
friends: [{ type: Schema.Types.ObjectId, ref: 'User'}],
facebook: {
id: String,
token: String,
// email: String,
displayName: String,
photo: String
}
});
// Should I even create this schema?
var FriendsRequest = new Schema({
madeBy: [{ type: Schema.Types.ObjectId, ref: 'User'}],
})
module.exports = mongoose.model('User', UserSchema);
module.exports = mongoose.model('FriendsRequest', FriendsRequest);
Io non sono del tutto onesto con voi, nel percorso POST
, non ho idea di che eccita su come scrivere la logica , perché in questo momento sono davvero confuso, in che modo l'utente B riceverà la notifica della richiesta live? Dovrei creare un altro percorso per questo?
Questo è il mio problema quando si tratta di creare applicazioni leggermente complesse, non ho potuto trovare una buona logica su come eseguire una determinata funzione anche se sembra piuttosto semplice. Sono rimasto bloccato in questo problema per quasi 4 ore, navigando e leggendo la rete, ma credo che SO sia l'unico posto in cui trovo un indizio su come fare qualcosa.
Grazie.
Voglio solo sapere per che cosa sta la variabile utente? come li creo? – sinusGob
e in che modo l'altro utente accetta la richiesta dell'amico e la salva nel database? metterà questa domanda come 50 taglie quando è ammissibile. Si prega di inserire maggiori dettagli – sinusGob
Guarda la versione aggiornata della domanda, aggiungo qualche file di database – sinusGob