MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Stocker les relations d'amis dans MongoDB ?

Garder une liste de friend_ids chez un utilisateur, c'est ce que je recommanderai. Quelques raisons,

1.Vous interrogez un utilisateur et vous avez la liste de tous les amis disponibles à l'avance.

2.Les demandes (en attente, acceptées) peuvent également être traitées, en veillant à ce qu'un identifiant respectif soit présent dans la liste d'amis de l'utilisateur. Ainsi, je peux obtenir la liste des amis réels et acceptés en interrogeant

my_id, my_friend_ids = user._id, user.friend_ids
my_friends = db.users.find({'_id':{'$in': my_friend_ids}, 'friend_ids': my_id})

Oui, lors de la suppression d'une amitié, vous devez $pull de la liste d'amis des deux utilisateurs, mais la fréquence de ce serait beaucoup moins. Mais vous interrogez moins pour obtenir la liste d'amis, qui serait fréquemment utilisée.