Go + Mongo 实现有数据不操作,没数据添加
data := interface{} // 要添加的内容 可以是结构体,也可以是bson filter := bson.M{} // 过滤内容,是否插入信息以这个为准,如果有这个内容,则不进行任何操作 // 附加参数
upsert := true upsertOptions := options.UpdateOptions{ UpdateOptions: &options.UpdateOptions{Upsert: &upsert}, }
// 把更新文档格式化 updateDoc := bson.M{ "$setOnInsert": data, } if err := db.collection("test").UpdateOne(context.Background(), filter, updateDoc, upsertOptions); err != nil { fmt.Println("UpsertSetOnInsert err", err) return err }