Currently I learn to create restful api with golang and mongodb. Actually I am beginner in both. I use mongodb-go-driver and I learn to use filter when we want to use find()
function. But I have some that I don't understand. What is the different between filter := bson.M{"_id": "abcd"}
and filter := bson.M{{"_id": "abcd"}}
? Thank you
Refer to the source code, https://github.com/mongodb/mongo-go-driver/blob/master/bson/primitive/primitive.go
bson.D
, internally is primitive.D
, which is []primitive.E
, which is a struct
. bson.M
, internally is primitive.M
, which is map[string]interface{}
. You put in key/value in bson.M
but use document (struct) in bson.D
.
It is better to explain it using 2 parameters, e.g. search for a = 1 and b = 2
. You syntax will be: bson.M{"a": 1, "b": 2}
or bson.D{{"a": 1}, {"b": 2}}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With