Führen einer Liste von friend_ids
in einem Benutzer, ist, was ich empfehlen werde. Wenige Gründe,
1. Sie fragen einen Benutzer ab und haben im Voraus eine Liste aller Freunde zur Verfügung.
2. Die Anfragen (ausstehend, akzeptiert) können ebenfalls bearbeitet werden, indem Sie sehen, dass eine entsprechende ID in beiden Freundeslisten des Benutzers vorhanden sein sollte. So kann ich durch Abfragen eine Liste der tatsächlichen und akzeptierten Freunde erhalten
my_id, my_friend_ids = user._id, user.friend_ids
my_friends = db.users.find({'_id':{'$in': my_friend_ids}, 'friend_ids': my_id})
Ja, während Sie eine Freundschaft entfernen, müssen Sie $pull
drücken aus der Freundesliste beider Benutzer, aber die Häufigkeit wäre viel geringer. Aber Sie fragen weniger nach, um die Freundesliste zu erhalten, die häufig verwendet wird.