sql >> Base de Datos >  >> NoSQL >> MongoDB

mongo-go-driver:filtro de consulta OR/AND anidado

Lo que importa es que $or requiere una matriz, que es bson.A . También $and es el predeterminado, no es necesario que lo indique.

Su filtro se puede definir así:

filter := bson.D{
    {"p", 10},
    {"$or", bson.A{
        bson.D{{"s", 30}},
        bson.D{{"a", 10}},
    }},
}

También puede usar esto:

filter = bson.D{
    {"p", 10},
    {"$or", bson.A{
        bson.M{"s": 30},
        bson.M{"a": 10},
    }},
}

O esto:

filter := bson.M{
    "p": 10,
    "$or": bson.A{
        bson.M{"s": 30},
        bson.M{"a": 10},
    },
}