Rumah >pembangunan bahagian belakang >Golang >Golang dan MongoDB - Saya cuba mengemas kini togol boolean ke mongodb menggunakan golang tetapi mendapat objek itu
Saya telah menggunakan React dan Nodejs untuk melaksanakan aplikasi todo. Fungsi pensuisan untuk mengemas kini pangkalan data Mongodb dalam React dan Nodejs adalah seperti berikut:
const toggleChecked = ({ _id, isChecked }) => { TasksCollection.update(_id, { $set: { isChecked: !isChecked } }) };
Saya ingin melaksanakan fungsi togol di Golang untuk mengemas kini medan boolean, tetapi saya mendapat objek, berikut ialah kod golang:
func updateOneMovie(movieId string) model.Netflix { id, _ := primitive.ObjectIDFromHex(movieId) filter := bson.M{"_id": id} update := bson.M{"$set": bson.M{"watched": bson.M{"$not": "$watched"}}} var updateResult model.Netflix result, err := collection.UpdateOne(context.Background(), filter, update) err = collection.FindOne(context.Background(), filter).Decode(&updateResult) if err != nil { log.Fatal(err) } fmt.Println(result) return updateResult }
Hasil dalam Mongodb dikemas kini sebagai objek dan bukannya boolean. Bagaimanakah saya boleh membetulkannya supaya ia mengemas kini togol boolean?
Lulus satu dokumen (cth. bson.M
或bson.D
) sebagai dokumen kemas kini dan nama dan nilai medan akan ditafsirkan sebagaimana adanya (secara literal).
Menggunakan Saluran Paip Pengagregatan dengan Kemas Kini a>, anda perlu menghantar tatasusunan sebagai dokumen kemas kini, yang mencetuskan tafsirannya sebagai saluran paip pengagregatan. Ini adalah satu-satunya keperluan. Tatasusunan mungkin mongo.Pipeline
, bson.A
,[]bson.D
, []bson.M
甚至 []any
,没关系,它必须是 Go 中的数组或切片。这些元素可以是 bson.M
、bson.D
atau sebarang nilai lain yang mewakili dokumen.
Penyelesaian paling mudah:
filter := bson.M{"_id": id} update := []any{ bson.M{"$set": bson.M{"watched": bson.M{"$not": "$watched"}}} }
Atas ialah kandungan terperinci Golang dan MongoDB - Saya cuba mengemas kini togol boolean ke mongodb menggunakan golang tetapi mendapat objek itu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!