Ce qui compte, c'est que $or
nécessite un tableau, qui est bson.A
. Aussi $and
est la valeur par défaut, vous n'avez pas à l'indiquer.
Votre filtre peut être défini comme ceci :
filter := bson.D{
{"p", 10},
{"$or", bson.A{
bson.D{{"s", 30}},
bson.D{{"a", 10}},
}},
}
Vous pouvez également utiliser ceci :
filter = bson.D{
{"p", 10},
{"$or", bson.A{
bson.M{"s": 30},
bson.M{"a": 10},
}},
}
Ou ceci :
filter := bson.M{
"p": 10,
"$or": bson.A{
bson.M{"s": 30},
bson.M{"a": 10},
},
}