MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Freundschaftsbeziehungen in MongoDB speichern?

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.