Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从mongo聚合查询中的组值中筛选空数组元素?

如何从mongo聚合查询中的组值中筛选空数组元素?
EN

Stack Overflow用户
提问于 2018-09-06 09:20:58
回答 1查看 6.2K关注 0票数 6

我的总$group是:

代码语言:javascript
运行
AI代码解释
复制
{
    $group: {
        _id: { ["$dayOfYear"]: "$TagDateCreated" },
        disqualified: {
            $addToSet: {
                $cond: {
                    if: { $in: [ "$TagId", [109,220,115,113,238] ]},
                    then: "$ContactId",
                    else: null
                }
            }
        }
    }
}

这给了我一组唯一的contactId作为取消资格,但我需要删除空值。我试着省略了$cond中的or语句以及$project中的各种$filters,这些语句要么不删除任何东西,要么删除所有内容,要么出错。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-06 09:28:45

您可以在$group之后添加下一个管道阶段

代码语言:javascript
运行
AI代码解释
复制
{
    $addFields: {
        disqualified: {
            $filter: {
                input: "$disqualified",
                as: "d",
                cond: {
                    $ne: [ "$$d", null ]
                }
            }
        }
    }
}

$addFields将覆盖现有数组,并使用$filter可以删除null值。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52209267

复制
相关文章
删除数组中某个指定元素的值_如何删除数组中的元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169504.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
13.5K0
如何从两个List中筛选出相同的值
问题 现有社保卡和身份证若干,想要匹配筛选出一一对应的社保卡和身份证。 转换为List<社保卡> socialList,和List idList,从二者中找出匹配的社保卡。 模型 创建社保卡类 /** * @author Ryan Miao */ class SocialSecurity{ private Integer id;//社保号码 private Integer idCard;//身份证号码 private String somethingElse; p
Ryan-Miao
2018/03/14
6.4K0
如何从两个List中筛选出相同的值
php数组中模糊查询给定的值
第一种:查询给定的值索引不变 /** * 在数组中模糊搜索给定的值 * @param $data * @param $keyword * @return array */ function searchArr($data,$keyword){ $arr = array(); foreach($data as $key=>$values ){ if (strstr( $values , $keyword ) !== false ){ $arr
素描
2019/09/19
6.7K0
js中关于假值和空数组的总结
1、“假值”总共只有6个: false,undefined,null,0,""(空字符串),NaN 除此之外的所有值,都是“真值”,即在逻辑判断中可以当true来使用
IT人一直在路上
2019/09/18
5.4K0
js中关于假值和空数组的总结
jquery判断数组中是否包含某个元素的值_java判断元素是否在数组中
如果arry数组里面存在”C#” 这个字符串则返回该字符串的数组下标,否则返回(不包含在数组中) -1
全栈程序员站长
2022/11/02
6.2K0
Mongo散记–聚合(aggregation)&amp; 查询(Query)
工作中使用到Mongo,可是没有系统的学习研究过Mongo,仅对工作过程中,在Mongo的使用过程中的一些知识点做一下记录,并随时补充,达到总结备忘的目的。
全栈程序员站长
2022/07/12
2.5K0
怎样从数组中删除给定元素_java数组包含某个元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169528.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.3K0
怎样从数组中删除给定元素_java数组包含某个元素
封装数组之实现在数组中查询元素和修改元素
前言:在上一小节中,我们已经对如何往数组中添加一个元素的方法进行了编写,此节中我们就如何查询出数组中元素与修改元素的方法进行编写。
wfaceboss
2019/04/08
1.2K0
sql连接查询中on筛选与where筛选的区别
sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能。 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏。 就拿比普通增删查改稍微复杂一个层次的连接查询来说, 盲目使用, 也会出现意料之外的危险结果,导致程序出现莫名其妙的BUG。 在连接查询语法中,另人迷惑首当其冲的就要属on筛选和where筛选的区别了, 在我们编写查询的时候, 筛选条件的放置不管是在on后面还是where后面, 查出来的结果总是一样的, 既然
用户1608022
2018/04/11
3.5K0
sql连接查询中on筛选与where筛选的区别
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
18.7K0
js判断元素在不在数组中_js判断数组是否为空
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180608.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
16.3K0
java数组删除元素_java中删除 数组中的指定元素方法[通俗易懂]
java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子。
全栈程序员站长
2022/09/22
8.8K0
如何删除 JavaScript 数组中的虚值[每日前端夜话0x55]
翻译:疯狂的技术宅 原文:https://medium.freecodecamp.org/how-to-remove-falsy-values-from-an-array-in-javascript-e623dbbd0ef2
疯狂的技术宅
2019/05/06
10.2K0
如何删除 JavaScript 数组中的虚值[每日前端夜话0x55]
SpringBoot中Mongo查询条件是集合中的字段的处理
MongoRepository和普通的Repository一样,继承PagingAndSortingRepository,支持分页和普通的CRUD。之前已经提过Jpa的一些基本操作,下面讲几个 稍微特殊点的。
天涯泪小武
2019/01/17
4.4K0
vue删除数组中指定元素_如何删除数组中的元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169518.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
8.2K0
c语言从数组中删除指定元素_c语言数组添加元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169514.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
6.1K0
c语言从数组中删除指定元素_c语言数组添加元素
js中如何判断数组中包含某个特定的值_js数组是否包含某个值
array.includes(searchElement[, fromIndex])
全栈程序员站长
2022/09/27
19.6K0
Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了。但是只支持了一些简单的、常用的条件查询,支持的力度很有限。特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了。由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强。 接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法。 使用 Linq 查询的代码示例 public WarehouseList GetByCod
用户1172223
2018/01/29
2.9K0
java如何打印数组的值,Java打印数组元素的值[通俗易懂]
本篇文章帮大家学习java打印数组元素的值,包含了Java打印数组元素的值使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。
全栈程序员站长
2022/08/11
4.6K0
点击加载更多

相似问题

基于匹配/排序/切片/组查询的数组中Mongo聚合查找元素

11

从mongo数组中删除空元素

10

筛选出在mongo db聚合中数组为空的子文档

12

从查询中筛选空值

37

Mongo查询:聚合、匹配、筛选、项目

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档