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!