您好,我正在努力将InsertOne()操作的InsertedID转换为字节片*。我正在使用此mongoDB客户端库https://github.com/mongodb/mongo-go-driver
到目前为止,我已经尝试像这样直接使用TypeAssertion:
res.InsertedID.([]byte)
可以编译,但是在断言期间导致以下错误:
panic:接口转换:interface {}是原始的。ObjectID,不是[] uint8
我也尝试过直接使用多个TypeAssertions或[]byte()
函数,但是无法编译
* byte slice,因为我正在使用gRPC,这限制了我可以用于返回值的可能类型。
答案 0 :(得分:1)
https://godoc.org/go.mongodb.org/mongo-driver/bson/primitive#ObjectID
猜到你想要的
首先,您可以将InsertedID声明为native.ObjectID,然后转换为字符串或其他内容
res.InsertedID.(primitive.ObjectID).String()
res.InsertedID.(primitive.ObjectID).Hex()
答案 1 :(得分:1)
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'androidx.core') {
details.useVersion "1.0.1"
}
if (details.requested.group == 'androidx.lifecycle') {
details.useVersion "2.0.0"
}
if (details.requested.group == 'androidx.versionedparcelable') {
details.useVersion "1.0.0"
}
}
}
}
是InsertedID
,即primitive.ObjectID
。因此,您可以执行以下操作以获取字节片:
[12]byte