我有以下代码,使用 go.mongodb.org/mongo-driver 库:updateMap := bson.M{ "$set": bson.M{ "dateAdded": primitive.NewDateTimeFromTime(time.Now()), },}if len(alias) > 0 { // I don't see how this type assertion is necessary updateMap["$set"].(map[string]interface{})["alias"] = alias}如果我做:updateMap["$addFields"].(map[string]map[string]string)["alias"] = alias它不编译。编译器已经知道 updateMap 是 bson.M 类型,它是一个map[string]interface{}. 如何断言它确实在map[string]interface{}做对编译器有用的事情?我以为它会想知道它实际上是什么类型的界面,但显然它不想让我那样做。这里发生了什么?编辑:当然,应该注意的是,这里没有类型断言,它不会编译:无效操作:无法索引 updateMap["$addFields"](接口类型的地图索引表达式{})
- 1 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消