Wie frage ich MongoDB von Golang mithilfe eines Arrays von Objekt-IDs ab?

DDD
Freigeben: 2024-10-31 02:06:29
Original
543 Leute haben es durchsucht

How to Query MongoDB from Golang using an Array of Object IDs?

Abfragen von MongoDB aus Golang mithilfe eines Arrays von Objekt-IDs

In MongoDB können Sie Arrays von Dokumenten speichern, jedes mit seiner eigenen eindeutigen _id . Dadurch können Sie mehrere Dokumente einem übergeordneten Dokument zuordnen. Bei der Abfrage dieser Dokumente mit den Paketen mgo und bson von Golang ist es wichtig, das _id-Array in den entsprechenden Typ zu konvertieren.

Lösung

Wenn die _id-Werte im Array vorliegen Da es sich lediglich um Hex-Zeichenfolgen handelt, ist der bereitgestellte Code korrekt:

<code class="go">query := bson.M{"_id": bson.M{"$in": ids}}
c.Find(query).All()</code>
Nach dem Login kopieren

Wenn die _id-Werte jedoch Objektbezeichner (ObjectId) sind, müssen Sie sie in den richtigen Typ konvertieren:

<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

Diese Konvertierung ist notwendig, da der $in-Operator ein Array von ObjectId-Werten erfordert, keine Hex-Strings. Durch Konvertieren der Hex-Strings in ObjectId-Typen können Sie die Dokumente, die den bereitgestellten _id-Werten zugeordnet sind, korrekt abfragen.

Das obige ist der detaillierte Inhalt vonWie frage ich MongoDB von Golang mithilfe eines Arrays von Objekt-IDs 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!