$elem与不同的匹配

2023-12-27

我对不同的查询有一些问题。

db.sessions.distinct("tests.device_serial")
[
        "",
        "5b34f4bf9854a",
        "5b34f4bf98664",
        "5b34f4bf98712",
        "5b34f4bf9876b",
        "5b34f4bf987c6"
]

我不想得到空字符串的结果。我尝试运行查询:

 db.sessions.distinct("tests.device_serial", {"tests.device_serial" : {$ne: ""}})
[ ]

为什么我得到空数组?我的错误在哪里?


猜测tests.device_serial是一个数组,这是你的错误:

 db.sessions.distinct("tests.device_serial", {"tests.device_serial" : {$ne: ""}})

您的不同命令中的查询正在过滤数组“测试”的文档contains名为 device_serial 且值为“”的字段,而不仅仅是数组中的字段。

为了实现你想要的,你可以使用聚合框架,将数组展开到多个文档,使用 $addToSet 命令按 null 进行过滤和分组来获取不同的值。

这是查询:

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

$elem与不同的匹配 的相关文章

随机推荐

  • 需要适当的 MySQL 查询

    很抱歉在这里问这个问题 但我对 JOIN 的理解相当不稳定 几个小时的混乱并没有让我有任何结果 这是我已经设置的以及我需要的 我有三张表 每一张用于用户 位置和签到 每次用户前往某个位置时 他们都可以在那里签到 签到表示例如下 checki
  • 如何在 Chrome headless 中评估脚本?

    节点有 e and p分别用于评估和评估并打印的标志 我知道有一个 replChrome headless 的标志 但我想知道是否有一种方法可以评估并打印表达式 例如 chrome headless eval and print navig
  • 为什么 java.util.Collection 上有一个方法 iterator()

    当接口 java util Collection 已经扩展了定义了此方法的 java util Iterable 时 为什么还要在接口 java util Collection 上定义该方法 iterator 呢 我正在考虑某种向后兼容性或
  • 从Datamapper开始,关联问题

    我刚刚深入研究 Datamapper 和 Sinatra 并有一个关于关联的问题 以下是我拥有的一些型号 这就是我想要实现的 我在锻炼项目和锻炼方面遇到问题 锻炼将单独管理 但锻炼项目有与每一行关联的单个锻炼 锻炼 只是类型的列表 锻炼 跑
  • 带有重新分析点的FolderBrowserDialog SelectedPath

    当我选择的文件夹位于远程服务器上并且是符号链接 或任何类型的重新分析点 时 我遇到了 FolderBrowserDialog 的 SelectedPath 属性问题 如果我选择普通文件夹 则会返回完整路径 例如 SERVER folder
  • MySQL 数据 - 实现分页的最佳方式?

    我的 iPhone 应用程序连接到我的 PHP Web 服务以从 MySQL 数据库检索数据 一个请求最多可返回 500 个结果 实现分页并一次检索 20 个项目的最佳方法是什么 假设我从数据库收到前 20 个条目 现在如何请求接下来的 2
  • java.lang.String的哈希码真的被缓存了吗?

    String s1 String1 System out println s1 hashCode return an integer i1 Field field String class getDeclaredField value fi
  • 在 Python 中对集合进行排序与​​对列表进行排序在时间上存在巨大差异

    我想知道我是否应该将数据结构作为集合或列表 大多数情况下我会进行集合运算 但最终我需要对其进行排序 我想知道是否应该先将集合设为列表 然后使用sorted list my set 或者立即对集合进行排序sorted my set 可以说 我
  • SPARQL DESCRIBE 查询

    看来我不理解 SPARQL DESCRIBE 查询 我需要检索与条件匹配的资源的完整图表 在我尝试过的一个 SPARQL 端点上 挪威 R data N http data bibsys no data query authority ht
  • 如何更改 Android 上切换按钮的背景颜色

    我尝试使用 XML 文件将切换按钮的背景颜色更改为白色 但切换按钮完全损坏 看起来所有的按钮都被白色覆盖了 当我将切换按钮的颜色更改为白色时 切换按钮上没有打开或关闭的指示 是否有另一种方法可以更改背景而不会损坏切换按钮的指示
  • 使用 React Router 6 导航时恢复滚动位置

    如何设置 React Router 6 以在导航和刷新浏览器窗口时恢复滚动位置 React Router 5 有一个关于滚动恢复的页面 https v5 reactrouter com web guides scroll restorati
  • 如何混淆(保护)JavaScript? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想制作一个非开源的 JavaScript 应用程序 因此我想了解如何混淆我的 JS 代码 这可能吗 混淆 尝试YUI压缩器 http
  • 交错2个不等长度的列表[重复]

    这个问题在这里已经有答案了 我希望能够交错两个长度可能不相等的列表 我所拥有的是 def interleave xs ys a xs b ys c a b c 2 a c 1 2 b return c 这对于长度等于或只是 1 的列表非常有
  • C# 3.5 参数的可选值和默认值

    我正在使用 C net 3 5 构建应用程序 我一直在 net 4 0 中使用可选参数属性 没有出现任何问题 我确实注意到 在 3 5 中 可以选择 解决方法 将以下属性添加到您的方法中 如下所示 public static void Me
  • 您可以在一个项目中混合使用 .net 语言吗?

    您可以在一个项目中混合使用 net 语言吗 所以预编译后 我想调用其他源文件的类和方法 对于网络和应用程序 我对 F 和 C 特别感兴趣 您可以在单个程序集中混合语言 and MSBuild http msdn microsoft com
  • 我可以报告 openmp 任务的进度吗?

    想象一个经典的 OMP 任务 对 0 0 1 0 范围内的双精度型大向量求和 Live On Coliru http coliru stacked crooked com a 6167c106392d7020 using namespace
  • Shutil.rmtree:FileNotFoundError:[Errno 2]没有这样的文件或目录:'._xxx'

    代码和错误 减少 如果您想查看完整代码 请参阅最后一节 import shutil import os filteredCleaned Volumes Extreme SSD Raymond Lab Day 4 Rotarod Videos
  • 在 Python 中使用 Pillow 从图像中裁剪区域

    我想使用 python 中的 Pillow 从图像中裁剪出矩形区域 问题是矩形不一定与图像边距平行 因此我无法使用 crop left top right Bottom 函数 有没有办法用 Pillow 来实现这一目标 假设我们知道矩形的所
  • SignalR 覆盖 OnConnected()、OnDisconnected()

    我正在尝试覆盖OnConnected OnDisconnected 方法 但我得到 OnConnected no suitable method found to override 正在实施IDisconnect IConnect接口并在其
  • $elem与不同的匹配

    我对不同的查询有一些问题 db sessions distinct tests device serial 5b34f4bf9854a 5b34f4bf98664 5b34f4bf98712 5b34f4bf9876b 5b34f4bf98