Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengambil Dokumen MongoDB oleh Array ID Objek menggunakan mgo dan bson?
Mengambil semula Dokumen MongoDB oleh Tatasusunan ID Objek
Dalam MongoDB, adalah mungkin untuk menyimpan tatasusunan ID objek (juga dikenali sebagai _ids) dalam sesebuah dokumen. Untuk mendapatkan semula semua dokumen yang sepadan dengan ID objek tersebut dengan cekap, gunakan operator $in.
Soalan:
Anda mempunyai tatasusunan _id berkod hex:
ids := ["543d171c5b2c12420dd016", "543d171c5b2dd016"]
Bagaimana anda mendapatkan semula dokumen yang sepadan menggunakan mgo dan bson?
Jawapan:
Pendekatan awal anda menggunakan:
query := bson.M{"_id": bson.M{"$in": ids}} c.Find(query).All()
tidak betul kerana _id disimpan sebagai ID objek, bukan rentetan. Untuk mendapatkan semula dokumen mengikut ID objek, anda perlu menukar rentetan yang dikodkan heks kepada objek bson.ObjectId:
oids := make([]bson.ObjectId, len(ids)) for i := range ids { oids[i] = bson.ObjectIdHex(ids[i]) } query := bson.M{"_id": bson.M{"$in": oids}} c.Find(query).All()
Kod ini:
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Dokumen MongoDB oleh Array ID Objek menggunakan mgo dan bson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!