$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与不同的匹配 的相关文章

  • Spring mongodb 指南针缺少创建的数据/集合

    我使用 spring 将数据保存到数据库 RepositoryRestResource collectionResourceRel operators path operators public interface OperatorsRep
  • MongoDB:如何使用单个命令更新多个文档?

    我惊讶地发现以下示例代码仅更新单个文档 gt db test save id 1 foo bar gt db test save id 2 foo bar gt db test update foo bar set test success
  • 节点 mongodb:错误:由于 parseError 连接已关闭

    使用本机 mongodb npm 包 我收到 Error connection closed due to parseError 进行非常基本的查询时 collections myCollection findOne id someID f
  • mongodb在windows下无法启动?

    当我尝试在命令行上使用命令 mongod exe 启动 mongodb 时 它会抛出以下错误 C mongodb win32 x86 64 2 0 6 bin gt mongod exe mongod exe help for help a
  • 如何获取 bson 文档的大小(以字节为单位)

    bson文档的size 函数返回的int值是字节数吗 无法找到此 API 的详细信息 如何获取 bson 文档的大小 以字节为单位 这是我的代码 import org bson Document MongoDatabase db Mongo
  • MacOS 每秒唤醒次数错误

    构建 Rails 应用程序 ruby 2 4 0p0 Rails 5 1 4 并使用我的 Macbook Air MacOS High Sierra 10 13 2 进行本地测试 我不断遇到此问题 过去 241 秒内有 45001 次唤醒
  • 带有卷的 docker 中的 Mongo db 持久化

    我正在尝试创建一个 mongo 数据库容器 但无法使数据持久化 这是我的 docker compose yml version 3 2 services mongodb image mongo 2 4 command smallfiles
  • Mongodb 限制聚合查询中的数组

    我正在尝试编写一个查询来返回每个类别中的前 X 个术语 例如前 5 个 前 10 个等 每个术语都有一个关联的类别 并且基于另一个术语的帮助堆栈溢出问题 https stackoverflow com questions 25666187
  • Mongodb 聚合嵌套组以及最近更新的文档

    我已经在我的集合中指定了人员 状态 如下所示 ASSIGN ID 583f84bce58725f76b322398 SPEC ID 58411771 STATUS 1 UPDATE DATE ISODate 2016 12 21T04 10
  • 使用 Spring Data MongoDB 查询纯 BSON

    是否可以在 Spring Data MongoDB 中查询纯 JSON BSON 数据 而无需将数据转换为实际的模型实现 我能找到的只是 MongoOperation 的
  • Mongodb更新很多

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

    MongodB 中自动生成的 ID 的大小为12 Bytes大整数的大小是8 bytes 我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群 但我现在只是在测试 插入只能通过一台服务器 即 Nodejs 服务
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • 使用填充方法在 sails mongo 中进行深层关联?

    我是 sails js 的新手 我正在使用 sails js 与 Mongodb 我在我的 sails 应用程序中使用 populate 进行深层关联时遇到问题 我有这样的关系 Category has many to many relat
  • Mongodb MapReduce 选择最新日期

    我似乎无法让我的 MapReduce 缩减功能正常工作 这是我的地图功能 function Map day Date UTC this TimeStamp getFullYear this TimeStamp getMonth this T
  • 使用 Mongoose 无法找到按 ObjectId 搜索的文档

    Campaign find client id req param client id error campaigns gt if error response error error message else for campaign i
  • NestJs/Mongoose 中的自动递增序列

    我正在将 NodeJs 项目迁移到 NestJs 该项目使用 MongoDB 作为后端数据库 使用 Mongoose 作为 ODM 我当时用的是猫鼬序列 https github com ramiel mongoose sequence插件
  • 有没有多核利用NoSQL系统?

    我从昨天开始就开始使用 MongoDB 并且非常喜欢它 我正在尝试导入大量数据 20 亿行 并为其建立索引 但它似乎没有使用我的系统拥有的 8 个核心 并且导入以正常速率 60000 条记录 秒 进行 我只能想象索引这个集合中的两列可能需要
  • 通过在 body、mongoose/mongodb 中提供文档来更新多个文档

    我需要通过在正文中提供一些文档来更新它们 我无法查询它们 必须提供它们 Example var persons id 1 name Joe active false id 2 name Jane active false 该数据在正文中提供
  • mongodb从不同数据库中选择

    我有大约 200 个 mongodb 数据库 每个数据库都有一个名为 Group 的集合 在该集合中有一个名为 meldingId 的字段 是否可以进行一个 mongodb 查询来查找不同数据库中的所有值 我设法通过 selectDB da

随机推荐

  • 需要适当的 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