首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在mongodb中找到包含NaN值的字段的$avg和$sum?

在MongoDB中,要找到包含NaN值的字段的$avg和$sum,可以使用聚合管道操作符$cond、$ifNull和$ne。

首先,使用$cond操作符和$ifNull操作符将NaN值转换为0。然后使用$ne操作符检查字段是否为NaN。接下来,使用$group和$avg操作符或$sum操作符进行计算。

以下是一个示例聚合查询:

代码语言:txt
复制
db.collection.aggregate([
  {
    $project: {
      fieldWithNaN: {
        $cond: {
          if: { $ne: ["$field", NaN] },
          then: "$field",
          else: 0
        }
      }
    }
  },
  {
    $group: {
      _id: null,
      avgWithNaN: { $avg: "$fieldWithNaN" },
      sumWithNaN: { $sum: "$fieldWithNaN" }
    }
  }
])

在上面的示例中,collection是你要查询的集合名称,field是包含NaN值的字段名。

请注意,NaN值在MongoDB中被视为一个特殊的非数字值,因此需要使用特殊的方式来处理它。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

漫画:如何在数组中找到为 “特定两个数?

我们来举个例子,给定下面这样一个整型数组(题目假定数组不存在重复元素): 我们随意选择一个特定,比如13,要求找出两数之和等于13全部组合。...由于12+1 = 13,6+7 = 13,所以最终输出结果(输出是下标)如下: 【1, 6】 【2, 7】 小灰想表达思路,是直接遍历整个数组,每遍历到一个元素,就和其他元素相加,看看是不是等于那个特定...第1轮,用元素5其他元素相加: 没有找到符合要求两个元素。 第2轮,用元素12其他元素相加: 发现121相加结果是13,符合要求。 按照这个思路,一直遍历完整个数组。...在哈希表中查找1,查到了元素1下标是6,所以元素12(下标是1)元素1(下标是6)是一对结果: 第3轮,访问元素6,计算出13-6=7。...在哈希表中查找7,查到了元素7下标是7,所以元素6(下标是2)元素7(下标是7)是一对结果: 按照这个思路,一直遍历完整个数组即可。

3.1K64

漫画:如何在数组中找到为 “特定三个数?

这一次,我们把问题做一下扩展,尝试在数组中找到为“特定三个数。 题目的具体要求是什么呢?给定下面这样一个整型数组: ? 我们随意选择一个特定,比如13,要求找出三数之和等于13全部组合。...我们以上面这个数组为例,选择特定13,演示一下小灰具体思路: 第1轮,访问数组第1个元素5,把问题转化成从后面元素中找出为8(13-5)两个数: ? 如何找出为8两个数呢?...按照上一次所讲,我们可以使用哈希表高效求解: ? 第2轮,访问数组第2个元素12,把问题转化成从后面元素中找出为1(13-12)两个数: ?...这样说起来有些抽象,我们来具体演示一下: 第1轮,访问数组第1个元素1,把问题转化成从后面元素中找出为12(13-1)两个数。 如何找出为12两个数呢?...此时双指针重合在了一起,如果再继续移动,就有可能之前找到组合重复,因此我们直接结束本轮循环。 第2轮,访问数组第2个元素2,把问题转化成从后面元素中找出为11(13-2)两个数。

2.4K10
  • 使用tp框架SQL语句查询数据表中字段包含

    有时我们需要查询某个字段是否包含时,通常用like进行模糊查询,但对于一些要求比较准确查询时(例如:微信公众号关键字回复匹配查询)就需要用到MySQL find_in_set()函数; 以下是用...find_in_set()函数写sq查询l语句示例: $keyword = '你好'; $sql = "select * from table_name where find_in_set('"....$keyword"',msg_keyword) and msg_active = 1"; 以下是在tp框架中使用find_in_set()函数查询示例: $keyword = '你好'; $where...数据库中存关键字要以英文“,”分隔; 2.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。...以上这篇使用tp框架SQL语句查询数据表中字段包含就是小编分享给大家全部内容了,希望能给大家一个参考。

    7.4K31

    MongoDB聚合操作

    MongoDB是一个非常强大文档数据库,它提供了一系列聚合操作,可以方便地对文档进行分组、过滤、排序统计等操作。...在本文中,我们将介绍MongoDB聚合操作,并提供一些示例代码来说明如何在MongoDB中使用它们。聚合管道MongoDB聚合操作使用聚合管道来处理数据。...$group:用于按照指定字段分组。$project:用于指定要返回字段。$sort:用于排序文档。$limit:用于限制返回文档数量。...聚合函数除了聚合管道,MongoDB还提供了一些聚合函数,可以用于统计、计算操作文档数据。下面是一些常用聚合函数:$sum:计算指定字段总和。$avg:计算指定字段平均值。...$max:返回指定字段最大。$min:返回指定字段最小

    1.4K10

    MongoDB快速入门,掌握这些刚刚好!

    ,并使用1-1来指定排序方式,1为升序,-1为降序; db.collection.find().sort({KEY:1}) 按article集合中文档likes字段降序排列; db.article.find...操作符 描述 $sum 计算总和 $avg 计算平均值 $min 计算最小 $max 计算最大 根据by字段聚合文档并计算文档数量,类似与SQL中count()函数; db.article.aggregate...2.0 } /* 2 */ { "_id" : "Ruby", "sum_count" : 1.0 } 根据by字段聚合文档并计算likes字段平局,类似与SQL中avg()语句...使用$regex操作符来设置匹配字符串正则表达式,可以用来模糊查询,类似于SQL中like操作; 例如查询title中包含教程文档; db.article.find({title:{$regex:...我用起来顺手数据库设计工具,这次推荐给大家! 后端程序员必备!写给大忙人看分布式事务基础! 没用过这些IDEA插件?怪不得写代码头疼! 如何在5天内学会Vue?聊聊我学习方法!

    3.3K50

    MongoDB快速入门,掌握这些刚刚好!(第二篇)

    ,并使用1-1来指定排序方式,1为升序,-1为降序; db.collection.find().sort({KEY:1}) • 按article集合中文档likes字段降序排列; db.article.find...,设置为true表示后台创建,默认为false # unique:设置为true表示创建唯一索引 # name:指定索引名称,如果没有指定会自动生成 • 给titledescription字段创建索引...; 操作符 描述 $sum 计算总和 $avg 计算平均值 $min 计算最小 $max 计算最大 • 根据by字段聚合文档并计算文档数量,类似SQL中count()函数; db.article.aggregate...2.0 } /* 2 */ { "_id" : "Ruby", "sum_count" : 1.0 } • 根据by字段聚合文档并计算likes字段平局,类似SQL中avg()语句...MongoDB使用$regex操作符来设置匹配字符串正则表达式,可以用来模糊查询,类似于SQL中like操作; • 例如查询title中包含教程文档; db.article.find({title

    17110

    Python | Python交互之mongoDB交互详解

    前言 本篇为mongodb篇,包含实例演示,mongodb高级查询,mongodb聚合管道,python交互等内容。...修改输出文档结构, 重命名、 增加、 删除字段、 创建计算结果 $sort: 将输出文档排序后输出 $limit: 限制聚合管道返回文档数 $skip: 跳过指定数量文档, 并返回余下文档 $...unwind: 将数组类型字段进行拆分 常用表达式:表达式:"列名" $sum: 计算总和, $sum:1 表示以一倍计数 $avg: 计算平均值 $min: 获取最小 $max: 获取最大 $...project:修改输入文档结构,:重命名,增加、删除字段等 举个栗子: #按照hometown分组,并计数 #分组输出,只显示count字段 db.xianyu.aggregate(..., 每条包含数组中一个 db.集合名称.aggregate({$unwind:'$字段名称'}) 举个栗子: db.xianyu.insert({_id:1,item:'t-shirt',size:

    8K30

    MongoDB快速入门,掌握这些刚刚好!(第二篇)

    ,并使用1-1来指定排序方式,1为升序,-1为降序; db.collection.find().sort({KEY:1}) • 按article集合中文档likes字段降序排列; db.article.find...,设置为true表示后台创建,默认为false # unique:设置为true表示创建唯一索引 # name:指定索引名称,如果没有指定会自动生成 • 给titledescription字段创建索引...; 操作符 描述 $sum 计算总和 $avg 计算平均值 $min 计算最小 $max 计算最大 • 根据by字段聚合文档并计算文档数量,类似SQL中count()函数; db.article.aggregate...2.0 } /* 2 */ { "_id" : "Ruby", "sum_count" : 1.0 } • 根据by字段聚合文档并计算likes字段平局,类似SQL中avg()语句...MongoDB使用$regex操作符来设置匹配字符串正则表达式,可以用来模糊查询,类似于SQL中like操作; • 例如查询title中包含教程文档; db.article.find({title

    16010

    前言:

    update : update对象一些更新操作符(,inc...)等,也可以理解为sql update查询内set后面的 upsert : 可选,这个参数意思是,如果不存在update记录,...显示一条如何在跳过一条 db.Contacts.find().limit(1).skip(1) MongoDB排序 在MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序字段...默认为 false. sparse Boolean 对文档中不存在字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段文档.。...默认为英语 language_override string 对于文本索引,该参数指定了包含在文档中字段名,语言覆盖默认language,默认为 language....实例 1、为Contacts集合中name字段按降序设置索引 db.Contacts.createIndex({"name":-1}) 2、为Contacts集合中name字段phone字段同时按降序设置索引

    7K20

    MongoDB高级操作(管道聚合)

    一、 聚合aggregate 聚合(aggerate)主要用于计算数据,类似于SQL中sum(),avg(),聚合aggregate是基于数据处理聚合管道,每个文档通过一个由多个阶段(stage)...$match:过滤数据,只输出符合条件文档。 $project:修改输入文档结构,重命名、增加、删除字段、创建计算结果。 $sort:将输入文档排序后输出。...常用表达式 $sum:计算总和,$sum:1同count表示计数 $avg: 计算平均值 $min: 获取最小 $max:获取最大 $push:在结果文档中插入到一个数组 $first:根据资源文档排序获取第一个文档数据...,是MongoDB标准查询操作。...$unwind 将文档中某一个数组类型字段拆分成多条,每条包含数组中一个,属性为false表示丢弃属性为空文档, 属性preserveNullAndEmptyArrays为true表示保留属性为空文档

    3.3K11

    MongoDB聚合操作以及与Python交互

    上一篇主要介绍了MongoDB基本操作,包括创建、插入、保存、更新和查询等,链接为MongoDB基本操作。 在本文中主要介绍MongoDB聚合以及与Python交互。...常用管道 下面介绍常用管道: $group:将集合中文档分组,可用于统计结果 $match:过滤数据,只输出符合条件文档 $project:修改输入文档结构,重命名、增加、删除字段,也可用于创建计算结果以及嵌套文档...$sort:将输入文档排序后输出 $limit:限制聚合管道返回文档数 $skip:跳过指定数量文档,并返回余下数据 $unwind:将数组类型字段进行拆分 常用聚合表达式 下面介绍常用聚合表达式...: sum:计算总和,sum:1表示以1计数 $avg:计算平均值 $min:获取最小 $max:获取最大 $push:在结果文档中插入到一个数组中 $first:根据资源文档排序,获取第一个文档数据...({$group:{ _id:"$gender", count:{$sum:1}, avg_score:{$avg:"$score"} }}) 输出结果为

    5.3K20

    开心档-软件开发入门之MongoDB 聚合

    作者简介:每天分享MongoDB教程学习经验、学习笔记。 座右铭:有自制力,做事有始有终;学习能力强,愿意不断地接触学习新知识。...by_user 字段对数据进行分组,并计算 by_user 字段相同总和。...db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])$avg计算平均值db.mycol.aggregate...$skip:在聚合管道中跳过指定数量文档,并返回余下文档。$unwind:将文档中某一个数组类型字段拆分成多条,每条包含数组中一个。$group:将集合中文档分组,可用于统计结果。...三个字段了,默认情况下_id字段是被包含,如果要想不包含_id话可以这样:db.article.aggregate( { $project : { _id : 0 ,

    1.6K20

    史上最详细MongoDB操作命令大全

    旨在为WEB应用提供可扩展高性能数据存储解决方案。    MongoDB是一个介于关系数据库非关系数据库之间产品,是非关系数据库当中功能最丰富,最像关系数据库。...MongoDB索引RDBMS 索引基本一样,可以在指定属性、内部对象上创建索引以提高查询速度。除此之外,MongoDB 还提供创建基于地理空间索引能力。 (4)支持查询。...MongoDB 除了提供丰富查询功能外,还提供强大聚合工具,count、group 等,支持使用MapReduce 完成复杂聚合任务。 (6)支持复制和数据恢复。...1":修改后, "要修改字段名2": "2"}}) #修改指定字段 db.yunfan_test.update({"name":"张三"}, {"name":"张三", "age":25...计算总和,$sum:1同count表示计数$avg计算平均值$min获取最小$max获取最大$push在结果文档中插入到一个数组中,相当于拼接字段$first根据资源文档排序获取第一个文档数据$

    5.1K41

    mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比

    2、$avg 计算平均值   Sql: select sex,avg(score) avgScore from mycol group by sex   Mongodb: db.mycol.aggregate...5、$push 把文档中某一列对应所有数据插入到一个数组中。   ...管道概念 管道在UnixLinux中一般用于将当前命令输出结果作为下一个命令参数。 MongoDB聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。...skip:在聚合管道中跳过指定数量文档,并返回余下文档。 unwind:将文档中某一个数组类型字段拆分成多条,每条包含数组中一个。 group:将集合中文档分组,可用于统计结果。...这样的话结果中就只还有_id,namescore三个字段了,默认情况下_id字段是被包含,如果要想不包含_id话可以这样: db.mycol.aggregate({$project:{_id : 0

    1.8K50

    mongodb11天之屠龙宝刀(八)聚合函数与管道:sql与mongodb聚合函数对比

    2、$avg 计算平均值   Sql: select sex,avg(score) avgScore from mycol group by sex   Mongodb: db.mycol.aggregate...5、$push 把文档中某一列对应所有数据插入到一个数组中。   ...管道概念 管道在UnixLinux中一般用于将当前命令输出结果作为下一个命令参数。 MongoDB聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。...skip:在聚合管道中跳过指定数量文档,并返回余下文档。 unwind:将文档中某一个数组类型字段拆分成多条,每条包含数组中一个。 group:将集合中文档分组,可用于统计结果。...这样的话结果中就只还有_id,namescore三个字段了,默认情况下_id字段是被包含,如果要想不包含_id话可以这样: db.mycol.aggregate({$project:{_id : 0

    1.7K10

    MongoDB

    另外,不再有预定义模式(predefined schema):文档键(key)(value)不再是固定类型大小。由于没有固定模式,根据需要添加或删除字段变得更容易了。...MongoDB并不具备一些在关系型数据库中很普遍功能,链接join复杂多行事务。...#2、文档中不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入文档)。 #3、MongoDB区分类型大小写。 #4、MongoDB文档不能有重复键。...查询岗位名以及各岗位内包含员工个数 db.emp.aggregate({"$group":{"_id":"$post","count":{"$sum":1}}}) 3....查询各岗位内包含员工个数小于2岗位名、岗位内包含员工名字、个数 db.emp.aggregate( { "$group":{"_id":"$post","count":{"$sum":1},

    3.6K60

    最全 MongoDB 基础教程

    autoIndexId 布尔 (可选)为 true,自动在 _id 字段创建索引。默认为 false。 size 数值 (可选)为固定集合指定一个最大,以千字节计(KB)。...默认为 false sparse Boolean 对文档中不存在字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段文档.。...默认为英语 language_override string 对于文本索引,该参数指定了包含在文档中字段名,语言覆盖默认language,默认为 language MongoDB聚合 MongoDB..., num_tutorial: {$sum: "$likes"}}}) $avg 平均值 db.ruochen.aggregate({$group: {_id: "$by", avg: {$avg: "...:将文档中某一个数组类型字段拆分成多条,每条包含数组中一个 - $group:将集合中文档分组,可用于统计结果 - $sort:将输入文档排序后输出 - $geoNear:输出接近某一地理位置有序文档

    11.5K87

    005.MongoDB索引及聚合

    如果未指定,MongoDB通过连接索引字段排序顺序生成一个索引名称。...sparse Boolean 对文档中不存在字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段文档.。...默认为英语 language_override string 对于文本索引,该参数指定了包含在文档中字段名,语言覆盖默认language,默认为 language. 1 > db.age01...db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}]) $avg 计算平均值 db.mycol.aggregate...$skip:在聚合管道中跳过指定数量文档,并返回余下文档。 $unwind:将文档中某一个数组类型字段拆分成多条,每条包含数组中一个。 $group:将集合中文档分组,可用于统计结果。

    2.2K20
    领券