首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang BSON变换

Golang BSON变换
EN

Stack Overflow用户
提问于 2014-08-27 03:03:46
回答 3查看 9.1K关注 0票数 6

我正在尝试将一个工作中的mongo查询转换为在戈朗的bson。我已经完成了一些基本的工作,但我很难找到如何将更高级的or查询集成到混合中。

有人有时间帮我转换下面的查询吗?希望能给我一个我需要的方向。不幸的是,除了评估和查询之外,我还没有找到很多例子。

这种方法适用于蒙戈:

代码语言:javascript
复制
db.my_collection.find({"$or": [
      {"dependencies.provider_id": "abc"}, 
      {"actions.provider_id": "abc"}]})

这适用于戈朗/布森:

代码语言:javascript
复制
bson.M{"dependencies.provider_id": "abc"}

如何正确地引入or语句?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-27 03:08:55

就你而言,这将是:

代码语言:javascript
复制
bson.M{"$or": []bson.M{
    {"dependencies.provider_id": "abc"},
    {"actions.provider_id": "abc"},
}}
票数 7
EN

Stack Overflow用户

发布于 2014-08-27 03:54:24

为了完整起见,这里是我在上面的评论中最后一个问题的完整例子。更大的目标是在go中动态构建bson查询。非常感谢ANisus:

代码语言:javascript
复制
query := bson.M{}
query["origin"] = "test"
query["$or"] = []bson.M{}
query["$or"] = append(query["$or"].([]bson.M), bson.M{"abc": "1"})
query["$or"] = append(query["$or"].([]bson.M), bson.M{"def": "2"})
票数 9
EN

Stack Overflow用户

发布于 2019-03-19 07:38:12

像这样

代码语言:javascript
复制
package main
import "github.com/globalsign/mgo/bson"

query := make([]map[string]interface{}, 0)
query = append(query, map[string]interface{}{"dependencies.provider_id": "abc"})
query = append(query, map[string]interface{}{"actions.provider_id": "abc"})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25518297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档