Wie rufe ich MongoDB-Dokumente nach _ID-Array mit Golang ab?

DDD
Freigeben: 2024-10-30 12:25:03
Original
656 Leute haben es durchsucht

How to Retrieve MongoDB Documents by _ID Array with Golang?

Abrufen von MongoDB-Dokumenten nach _ID-Array mit Golang

Problem:

Sie besitzen ein Array Enthält MongoDB-Objekt-_IDs. Um alle entsprechenden Dokumente effizient abzurufen, suchen Sie nach einer Abfrage, die die Pakete mgo und bson nutzt.

Lösung:

Um die Abfrage zu erstellen, beginnen Sie mit der Untersuchung der gespeicherten Dokumente _IDs. Wenn es sich um Zeichenfolgen handelt, ist Ihre erste Abfrage mit bson.M{"_id": bson.M{"$in": ids}} korrekt.

Wenn es sich bei den _IDs jedoch um Objektbezeichner in hexadezimaler Form handelt, eine Umstellung ist notwendig. Befolgen Sie diese Schritte:

  1. Initialisieren Sie ein Array oids, um die konvertierten Objekt-IDs zu speichern.
  2. Durchlaufen Sie das ursprüngliche ids-Array und konvertieren Sie jede ID mit bson.ObjectIdHex in bson.ObjectId.
  3. Aktualisieren Sie Ihre Abfrage, um OIDs anstelle der ursprünglichen IDs zu verwenden.

Hier ist der aktualisierte Code für die Abfrage mit Objekt-IDs:

<code class="go">oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}</code>
Nach dem Login kopieren

Wenn Sie diese Schritte befolgen, Sie können effektiv alle MongoDB-Dokumente abrufen, die dem angegebenen _ID-Array entsprechen.

Das obige ist der detaillierte Inhalt vonWie rufe ich MongoDB-Dokumente nach _ID-Array mit Golang ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage