Heim >Backend-Entwicklung >Golang >Wie frage ich MongoDB von Go aus mit einem Array von Objekt-IDs ab?

Wie frage ich MongoDB von Go aus mit einem Array von Objekt-IDs ab?

DDD
DDDOriginal
2024-11-03 00:42:29359Durchsuche

How to Query MongoDB from Go with an Array of Object IDs?

Abfragen von MongoDB aus Go mit Array von Objekt-IDs

In MongoDB kann das Abrufen von Dokumenten basierend auf ihren in einem Array gespeicherten Objekt-IDs erreicht werden mit dem $in-Operator und den Paketen mgo und bson.

Implementieren der Abfrage:

Um die Abfrage korrekt auszuführen, müssen Sie sicherstellen, dass die Objektkennungen in der Array haben das richtige Format. Wenn die Dokumente mit Zeichenfolgen-IDs gespeichert sind, war die von Ihnen angegebene Abfrage korrekt:

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

Wenn die Objektkennungen jedoch in Form von hexadezimal codierten Zeichenfolgen vorliegen (z. B. „543d171c5b2c12420dd016“), benötigen Sie Folgendes um sie in bson.ObjectId-Objekte zu konvertieren, bevor Sie sie in der Abfrage verwenden. So können Sie das tun:

<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>

Diese Änderung stellt sicher, dass die Abfrage mit den im Array als bson.ObjectId-Objekte gespeicherten Objektbezeichnern übereinstimmt.

Das obige ist der detaillierte Inhalt vonWie frage ich MongoDB von Go aus mit einem Array von Objekt-IDs ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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