我想将字符串转换为BSON Obj以执行mongodb聚合操作。所有查询都将存储在某个地方,现在我们必须将字符串转换为BSON操作并显示结果。
可以说
var str = `[{"$match":{"tenantId":"TenantOne"}},{"$group":{"_id":{"referralType":"$referralType"},"value":{"$sum":1}}}]`
我必须转换为
var bsonobj = bson.A{
bson.D{{
Key: "$match", Value : bson.D{{
Key : "tenantId" : Value: "TenantOne"
}}
}},
bson.D{{
Key: "$group", Value : bson.D{{
Key : "_id" : Value: bson.D{{
Key : "referralType" : Value: "$referralType"
}},
Key : "value" : Value: bson.D{{
Key : "$sum" : Value: 1
}}
}}
}}
}
我尝试过Golang MongoDB-Driver - Bson Unmarshal!我无法正确使用它。
最佳答案
尝试这个:
var str = `[{"$match":{"tenantId":"TenantOne"}},{"$group":{"_id":{"referralType":"$referralType"},"value":{"$sum":1}}}]`
fmt.Println(str)
var bdoc interface{}
err := bson.UnmarshalExtJSON([]byte(str),true,&bdoc)
fmt.Println(bdoc)
fmt.Println(err)
关于mongodb - 如何将字符串转换为BSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58730911/