伙计们,我正在尝试使用用户电话查询 MongoDB 和 golan 中的集合,获取用户的 ID 并使用它来查询另一个集合,但是当我尝试使用该返回 ID 时,它给我一个错误cannot use userid (variable of type interface{}) as string value in argument to primitive.ObjectIDFromHex: need type assertion我的代码var result bson.M err := userdataCollection.FindOne(context.TODO(), bson.M{"phone":"+2347000000"}).Decode(&result) if err != nil { if err == mongo.ErrNoDocuments { // This error means your query did not match any documents. return } log.Fatal(err) } var userid = result["_id"] fmt.Printf("var6 = %T\n", userid) json.NewEncoder(w).Encode(result["_id"]) // this returns prints the user id id,_ := primitive.ObjectIDFromHex(userid) // where I am having the error
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
返回_id
的已经是类型primitive.ObjectID
,所以使用简单的类型断言(不需要调用primitive.ObjectIDFromHex()
):
id := userid.(primitive.ObjectID)
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消