Heim >Backend-Entwicklung >Golang >Wie frage ich MongoDB von Go aus mit einem Array von Objekt-IDs ab?
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!