MongoDB in Go (golang) with mgo:如何使用逻辑运算符进行查询?

2024-02-11

我想在管道中使用 mgo 在 golang 中运行以下查询。

{"key1" : 1,
 "$or" : [{"key2" : 2}, {"key3" : 2}]}

我到处都找过,但找不到这样的例子。我尝试了很多不同的组合,例如:

...
pipeline := []bson.M{
                     bson.M{    "$match" :  bson.M{ "key1" : 1,  
                                                   "$or" : bson.M{ "key2" : 2, "key3" : 2},
                     }
                     ...
            }

编译正确,没有发现任何东西。有任何想法吗?

先感谢您


您的 mongo 查询可以翻译为以下内容:

pipeline := bson.D{
    {"key1", 1},
    {"$or", []interface{}{
        bson.D{{"key2", 2}},
        bson.D{{"key3", 2}},
    }},
}

该查询应相当于 mongo 控制台中的以下内容:

db.mycollection.find({"key1" : 1, "$or" : [{"key2" : 2}, {"key3" : 2}]})

如果您希望使用无序地图,bson.M,它会是这样的:

pipeline := bson.M{
    "key1": 1,
    "$or": []interface{}{
        bson.M{"key2": 2},
        bson.M{"key3": 2},
    },
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB in Go (golang) with mgo:如何使用逻辑运算符进行查询? 的相关文章

随机推荐

  • 如何在不使用 javac 编译源的情况下运行注释处理器(Java 8 无法使用 Apt)

    如何在不使用 javac 编译源的情况下运行注释处理器 Java 8 无法使用 Apt javac 是否有任何参数可以只运行注释处理而不编译所有文件 我想通过 javac 做什么 只需找到带注释的元素并使用定义的注释处理器处理它们 proc
  • 如何将pandas中的每月数据转换为季度数据

    我有每月的数据 我想将其转换为 3 个月的 周期 其中 q1 从 1 月开始 因此 在下面的示例中 前 3 个月的聚合将转换为第 2 季度的开始 所需格式 1996q2 将 3 个月度值混合在一起得到的数据值是 3 列的平均值 从概念上讲
  • 如何格式化 ruby​​ 记录器?

    如何格式化 ruby 记录器 logger Logger new nice log logger formatter proc do severity datetime progname msg NICE msg n end logger
  • C++14 中的网络库

    赫伯 萨特写道here http isocpp org blog 2013 04 trip report iso c spring 2013 meeting 在他的 ISO C 2013 年春季会议旅行报告中 计划将网络库添加到 C 14
  • 从 JSONArray 中删除 JSON 对象 - Jetison

    有没有直接的方法通过使用index html来删除存储在JSONArray中的JSONObject 我尝试了所有的可能性 仍然无法从 JSON 数组中删除 JSON 对象 任何提示都会有帮助 谢谢 在 java json 中 没有直接的方法
  • Rust 无法正确读取整数输入

    我正在尝试使用一个简单的程序来测试我的 Rust 技能 该程序从单行输入中读取多个整数 它编译正确 但不幸的是当它收到输入时1 2 3 它会出现恐慌 说输入不是有效的整数 有人可以解释一下原因 并解释一下如何修复我的程序吗 use std
  • 字符串缓冲区声明不足

    我使用工具来检查编码风格 我得到了很多建议 StringBuffer 构造函数初始化为大小 16 但附加了至少 35 个字符 这是我的一些代码 final StringBuffer Contents new StringBuffer 为什么
  • android 标签的自定义字体

    我想为我的选项卡使用自定义字体 这是我尝试过的 但我遇到了一个错误
  • 如何给Android-Studio添加版权?

    标题说明了一切 如果我想在Android Studio的代码文件中添加版权注释 当然 我在 首选项 版权 中找到了版权设置 但我无法使其工作 当我创建新的 Java 文件时 版权并没有出现 这是 Android Studio 的错误还是我错
  • 在CSS规则中使用不同字体的网页中显示两种语言的文本

    我的网页按预期使用 Yekan 字体显示波斯语文本 为什么英文文本错误地使用 Alger 以外的字体 font face font family Yekan src url Fonts BYekan ttf unicode range U
  • JavaScript 数组扩展

    只是个小疑问 我使用其原型扩展了 javascript Array 对象 如下所示
  • 如何将函数绑定到 URL 查询字符串的更改,而不是 hashchange

    正如标题所示 我希望将一个函数绑定到 URL 查询字符串的更改 一个例子 from baby to baby bc fsnf 1 brand 37 详细地说 我希望该函数在以下情况下运行from变成to Cheers 如果您的页面没有刷新
  • 如何在同一台机器上设置不同的Scala版本?

    我想关注有关 Scala 1 的书 但它使用 Scala 3 而我安装了 Scala 2 我想使用这两个版本 类似于python2 and python3 我尝试使用以下命令在本地安装 Scala3官方来源 https dotty epfl
  • jQuery 使用公共关键字选择数据属性

    我有两个具有以下设置的元素 span span span span 我使用下划线循环包含这些属性中的任何一个元素 然后执行相关操作 如果有 目前这是这样做的 each data placeholder class data placehol
  • 在python中制作一定范围内均匀分布的数字列表

    创建包含给定边界之间均匀间隔的数字 不仅仅是整数 的任意长度列表的Pythonic方法是什么 例如 my func 0 5 10 lower bound upper bound length 0 0 5 1 1 5 2 2 5 3 3 5
  • 如何在视图中启用 Rails I18n 翻译错误?

    我创建了新的 Rails 3 项目 我尝试在我的观点中使用这样的翻译 t translate test 在我的浏览器中我看起来 translate test 反而 my test translation 我设置的女巫en yml 我的主要问
  • 在jsp中调用java方法

    我有一个 java 类 它对文件执行一些操作 由于java代码很大 我不想在jsp中编写这段代码 我想在需要时调用jsp中的方法 请告诉我需要保存该文件的路径 另外一些如何使用它的示例代码也会有所帮助 在 servlet 中 在 JSP 之
  • 使用 file_get_contents 进行良好的错误处理[重复]

    这个问题在这里已经有答案了 我正在利用简单的htmldom http simplehtmldom sourceforge net 它有这个功能 get html dom form file function file get html do
  • Dropzone.js 调整图像大小以适合缩略图大小

    我正在尝试调整缩略图中的图像大小以固定框大小 我试过这个 Dropzone options myAwesomeDropzone maxFiles 20 maxFilesize 2 maxThumbnailFilesize 20 accept
  • MongoDB in Go (golang) with mgo:如何使用逻辑运算符进行查询?

    我想在管道中使用 mgo 在 golang 中运行以下查询 key1 1 or key2 2 key3 2 我到处都找过 但找不到这样的例子 我尝试了很多不同的组合 例如 pipeline bson M bson M match bson