使用嵌套结构的逻辑运算符查找查询?
Find query with logical operator for nested structs?
我想使用 $or 查找包含任何给定参数的条目。数据库条目如下所示
"resources" : {
"compute" : "compute4",
"storage" : "storage3",
"network" : "network2"
},
我想找到满足资源内任何字段的条目。
bkCollection.Find(bson.M{"resources": bson.M{
"compute": filter.Resources.Compute, "$or",
"storage": filter.Resources.Storage, "$or",
"network": filter.Resources.Network}}).All(&result)
您需要使用 $or
运算符构造此 mongo shell 查询的等效项:
db.collection.find({
"$or": [
{ "resources.compute" : "compute5" },
{ "resources.storage" : "storage3" },
{ "resources.network" : "network1" }
]
})
在 go
中,其结构为:
bkCollection.Find(bson.M{ "$or": []bson.M{
bson.M{ "resources.compute": filter.Resources.Compute },
bson.M{ "resources.storage": filter.Resources.Storage },
bson.M{ "resources.network": filter.Resources.Network }
}}).All(&result)
我想使用 $or 查找包含任何给定参数的条目。数据库条目如下所示
"resources" : {
"compute" : "compute4",
"storage" : "storage3",
"network" : "network2"
},
我想找到满足资源内任何字段的条目。
bkCollection.Find(bson.M{"resources": bson.M{
"compute": filter.Resources.Compute, "$or",
"storage": filter.Resources.Storage, "$or",
"network": filter.Resources.Network}}).All(&result)
您需要使用 $or
运算符构造此 mongo shell 查询的等效项:
db.collection.find({
"$or": [
{ "resources.compute" : "compute5" },
{ "resources.storage" : "storage3" },
{ "resources.network" : "network1" }
]
})
在 go
中,其结构为:
bkCollection.Find(bson.M{ "$or": []bson.M{
bson.M{ "resources.compute": filter.Resources.Compute },
bson.M{ "resources.storage": filter.Resources.Storage },
bson.M{ "resources.network": filter.Resources.Network }
}}).All(&result)