Mongodb聚合组按逻辑还是?

2023-12-19

我想尝试根据文档中两个布尔字段的逻辑或进行分组。基本上,文档有两个可以表示错误条件的字段,如果其中一个字段为 true,那么我想在 id 为 true 的情况下创建一个状态字段,但如果两者都不为 true,那么我希望状态为 false。我希望将其包含在分组中,因为我需要分别聚合错误数据而不是成功条件数据。

我正在处理以下小组声明:

$group: {
    _id: { 
        timestamp: {
        $dateToString: {
            format: "%Y-%m-%d %H:%M:%S.%LZ",
            date: {
                $subtract: ["$requestDtsCal", {
                    $mod: [{
                        $subtract: ["$requestDtsCal", baseDate]
                    }, divisor]
                }]
            }
        }
    },
    serviceKey: "$serviceKey",
    operationuuid: "$operationuuid",
    contractKey: "$contractKey",
    bindingTemplateKey: "$bindingTemplateKey",
    containerKey: "$containerKey",
    status: "$isSoapFaultByMP"
    //                status: { $or: [ {"$isSoapFaultByMP" : {$eq: true}}, {"$isSoapFaultByNextHop": {$eq: true}} ]}
},

正如所写,它可以很好地识别“isSoapFaultByMP”字段是真还是假。如果我尝试将注释掉的变体与逻辑 OR 一起使用,则会失败并显示以下消息:

assert: command failed: {
    "ok" : 0,
    "errmsg" : "invalid operator '$isSoapFaultByMP'",
    "code" : 15999
}

对我做错了什么有什么想法,或者这是否可能?顺便说一句,这是 Mongo 3.2.11 的情况。

Thanks,

Ian


你可以尝试这个,连同你的 _id 字段,你不需要检查布尔值是真还是假,只需评估它

db.col.aggregate(
    [
        {
            $group : { _id : {
                isError : { $or : ["$isSoapFaultByMP", "$isSoapFaultByNextHop"] }
                }
            }
        }
    ]
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongodb聚合组按逻辑还是? 的相关文章

  • Mongodb 聚合嵌套组以及最近更新的文档

    我已经在我的集合中指定了人员 状态 如下所示 ASSIGN ID 583f84bce58725f76b322398 SPEC ID 58411771 STATUS 1 UPDATE DATE ISODate 2016 12 21T04 10
  • MongoDB,从数组中删除对象

    Doc id 5150a1199fac0e6910000002 name some name items id 23 name item name 23 id 24 name item name 24 有没有办法从数组中提取特定对象 IE
  • Mongodb更新很多

    我正在使用express js 和 npm 模块 mongodb 进行开发 并以 mongodb 作为数据库 我有两个集合 即 用户 和 活动 一个用户可能有数千个活动 首先 我将用户的 id 姓名和图片 url 存储到 关系的活动文件 请
  • Mongodb 聚合数组中的子文档

    我正在使用 mongodb 作为后端实现一个小型应用程序 在此应用程序中 我有一个数据结构 其中文档将包含一个包含子文档数组的字段 我使用以下用例作为基础 http docs mongodb org manual use cases inv
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • 获取对象数组中每个嵌套对象的虚拟属性?

    所以我知道如何获取单个虚拟属性 如 Mongoose 文档中所述 PersonSchema virtual name full get function return this name first this name last 但如果我的
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • 如何处理 MongoDB 的断开连接错误

    我在 Node js 进程中看到了这个未捕获的异常 Uncaught exception Error read ETIMEDOUT at TCP onStreamRead internal stream base commons js 16
  • 将域类从 GORM 独立模块导入到 Grails 中

    我有两块拼图 1 一个名为的无 Grails 项目core module使用独立的 GORM dependencies compile org grails grails datastore gorm mongodb 6 0 4 RELEA
  • 使用 Mongoose 无法找到按 ObjectId 搜索的文档

    Campaign find client id req param client id error campaigns gt if error response error error message else for campaign i
  • 使用 C# 将 XML 转换为 BSON

    我想将 XML 文件转换为 BSON 然后将 BSON 导入 MongoDB 我进行了搜索 但找不到如何使用 C 来隐藏它 请向我提供使用 C 执行此操作的源代码 今天有同样的问题 这肯定不是最好的解决方案 但是 我在我的项目中以这种方式解
  • NestJs/Mongoose 中的自动递增序列

    我正在将 NodeJs 项目迁移到 NestJs 该项目使用 MongoDB 作为后端数据库 使用 Mongoose 作为 ODM 我当时用的是猫鼬序列 https github com ramiel mongoose sequence插件
  • 如何在 Spring-data 中更改/定义 Mongodb 的默认数据库?

    我有从 MongoRepository 扩展的接口 他们使用默认数据库 mongodb 我想定义类的数据库名称 public interface CustomerRepository extends MongoRepository
  • 通过在 body、mongoose/mongodb 中提供文档来更新多个文档

    我需要通过在正文中提供一些文档来更新它们 我无法查询它们 必须提供它们 Example var persons id 1 name Joe active false id 2 name Jane active false 该数据在正文中提供
  • 如何更新 Laravel 编辑视图中的图像?

    在 Laravel 中 我的编辑视图中有一个名为 个人资料图片 的字段 每当我单击 编辑 按钮时 我都会在编辑视图中从数据库中获取所有值 但没有获得图像 并且如果每当我每次单击 提交 按钮时 我都必须如果没有上传图像 我无法进一步处理我想要
  • 调用 Mongoose 插件内模式的静态方法

    我写了一个插件 可以执行以下操作 module exports function schema options schema statics customFunction function criteria Code 这是我的架构 var
  • 将 mongodb 与 solr 集成的动机是什么 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Mongodb 是一个 nosql 数据库 除了全文搜索之外 任何查询都可以在其上运行 因为它会降低整体性能 Solr 是一个搜索引擎 当我们将
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • MongoDB 按数组内部元素分组

    我有一个文章列表 每篇文章都有一个数组属性 其中列出了其中提到的各个个人 id oid 52b632a9e4f2ba13c82ccd23 providerName The Guardian url http feeds theguardia
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修

随机推荐

  • 如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?

    假设您在创建新的 MVC 5 项目时忘记勾选 Web API 复选框 将其添加到项目中 那么您需要做什么来添加 Web API 并使其正常工作 有很多迁移问题 但似乎没有一个具有将 Web API 添加到 MVC 5 项目的完整且最新的步骤
  • Swagger UI 上未出现“请求正文”

    我正在尝试做一个测试POST请求我的 Swagger 文档 但我遇到了以下问题 在 Swagger Editor 上我可以正常测试它 但在 Swagger UI 上 请求正文字段不会出现 因此我无法输入我的电子邮件和密码来测试请求 您可以在
  • Redis 哨兵与主/从服务器位于同一服务器中?

    我一直在阅读有关如何使用 Redis Sentinel 的内容 并且我知道可以有 2 个或更多哨兵 并在从客户端调用时在它们之间进行负载平衡 将这 2 个哨兵与我的主服务器 从服务器放在同一服务器中是一个好的做法吗 换句话说 在同一物理服务
  • C# 如何从 VS2008 代码指标中排除生成的代码?

    如何从 Visual Studio 2008 代码指标中排除生成的代码 例如 Windows 窗体设计器相关代码 我一直在四处挖掘 但没有找到任何解决方案 DebuggerHidden and DebuggerNonUserCode没有影响
  • Linux:是否可以对共享库代码进行沙箱处理

    我有一个需要通过加载共享库来扩展的进程 有没有一种方法可以在沙箱环境 外部进程除外 中运行共享库代码 以便在出现段错误时不会使进程崩溃 并且对可以分配的内存量 可以使用的 CPU 周期有限制 ETC 我认为没有一种干净的方法可以做到这一点
  • 开发人员能否“强制”系统防止“Metro”应用程序在后台异步进程运行时被挂起?

    当应用程序当前不在 Win8 中处于 前端和中心 位置时 它就会被挂起 这是否会妨碍应用程序在后台显式保持活动状态 例如在电子邮件客户端中 使用异步操作轮询邮件服务器以查找新消息并下载它们 然后使用新消息数更新磁贴 如果这是不可能的 挂起的
  • 我怎样才能传递 UIColor 的名字

    我想知道如何将 UIColor 的名称传递给特定方法 EDIT id setLabel NSString text WithColorName NSString nameOfColor FontName NSString f name Fo
  • 检查 JComboBox 中是否已存在某个项目?

    除了迭代 JComboBox 之外 是否有一种简单的方法来检查 JComboBox 中是否已存在某个项目 这就是我想做的 Item item boolean exists false for int index 0 index lt myC
  • React Native Firebase DataSnapshot

    我正在尝试使用以下代码将 firebase 实现到我的 React Native 应用程序中 import as firebase from firebase var fireBaseconfig apiKey MY KEY authDom
  • Spring JPA:使用@Transactional和@PersistenceContext的应用程序管理持久性上下文

    目前 我正在尝试应用程序管理的持久性上下文 方法是手动创建实体管理器并存储它们 以在 JSE 应用程序中启用跨多个请求调用 可能类似于扩展持久性上下文 的事务 但是 我想知道是否可以通过使用 spring 的 PersistenceCont
  • 暂停和恢复 setInterval

    window setInterval function do stuff milisec 有没有办法随意停止这个间隔 并从它持续的地方恢复它 比如说 代码每 5 秒运行一次 我在第二秒中间停止它 当恢复时 我希望它运行剩余的 3 秒 然后每
  • iPhone 8 和 iPhone X 的型号名称是什么? [复制]

    这个问题在这里已经有答案了 谁可以使用 iPhone 8 和 iPhone X 告诉我型号名称吗 可以通过以下方式访问它UIDevice current modelName Anbu提到的信息是 iPhone 8 iPhone10 1 和
  • Java containsAll 在给定列表时不返回 true

    我想检查一个数组是否是另一个数组的子集 程序打印错误 但我期望正确 为什么 containsAll 不返回 true int subset subset new int 3 subset 0 10 subset 1 20 subset 2
  • Rails 多态关联(遗留数据库)

    我使用的是旧数据库 因此我对数据模型没有任何控制权 他们使用很多多态链接 连接表 就像这样 create table person per ident name create table person links per ident obj
  • python 中的 import 关键字实际上是如何工作的?

    假设我有 3 个文件 a py from d import d class a def type self return a def test self try x b except print EXCEPT IN A from b imp
  • 将 Kivy 设置为全屏时出现问题

    我正在尝试编写一个全屏运行 kivy 的应用程序 但这些是我的问题 1 当我运行命令时 Config set graphics fullscreen 1 然后 kivy 似乎已完全运行 但窗口的背景图像周围有很多黑色空间 即使我拉长图像 k
  • 它相当于 llvm 中的 size_t

    某些系统库 例如 malloc strlen 需要或返回 size t 作为参数 LLVM IR 中与这些函数交互的正确选择是什么 选择是编译器的任务吗 LLVM IR 有 size t 类型吗 在LLVM级别 size t不存在 它是为了
  • TBB,一项任务的线程数固定,其他任务的线程数默认

    我想在一组块上并行执行 for 循环 使用 TBB 其中每个块将使用用户提供的函数进行处理 通常 我会使用tbb parallel for 由于各种原因 我希望能够将处理块的线程数量限制为规定的数量 称之为j 通常 我会使用tbb task
  • XF - SignaturePad 仅在触摸结束时显示笔划

    我在用着签名板 https github com xamarin SignaturePad with Xamarin Forms即使在基本的硬件设备上它也能正常工作 但我在仅使用一台设备时就遇到了奇怪的行为 三星 Galaxy Tab E
  • Mongodb聚合组按逻辑还是?

    我想尝试根据文档中两个布尔字段的逻辑或进行分组 基本上 文档有两个可以表示错误条件的字段 如果其中一个字段为 true 那么我想在 id 为 true 的情况下创建一个状态字段 但如果两者都不为 true 那么我希望状态为 false 我希