MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongo-go-driver:verschachtelter OR/AND-Abfragefilter

Was zählt, ist das $or erfordert ein Array, das bson.A . Auch $und ist die Voreinstellung, Sie müssen dies nicht angeben.

Ihr Filter kann wie folgt definiert werden:

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

Sie können auch Folgendes verwenden:

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

Oder dies:

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