MongoDB 字符串转int

2023-12-20

我想将MongoDB值字段的字符串转换为整数,然后计算平均值。

这是我的 JSON:

"_id" : ObjectId("5c49f398fc0078178c76705b"),     // my json data
    "Time_Created" : ISODate("2019-01-24T17:19:20.205Z"),   // date
    "Test_ID" : "1",
    "data" : [
        {
            "Device_id" : "1",
            "Total_wires" : "5",
            "Cables" : [
                {
                    "TAG" : "4001",
                    "Value" : "24.3"
                },
                {
                    "TAG" : "4002",
                    "Value" : "21.3"
                },
                {
                    "TAG" : "4003",
                    "Value" : "21.3"
                },
                {
                    "TAG" : "4004",
                    "Value" : "21.3"
                },                                                            
                {
                    "TAG" : "4005",                                        
                    "Value" : "100.3"
                }
            ]
        }
    ]
}

我正在使用以下查询来提取平均值

  1. Query:

    db.collection_name.aggregate( [{  '$project': { 'values': '$data.Cables.Value', }}, { '$unwind': '$values' }, { '$addFields': { 'avgValue': { '$avg': { $toInt: '$values' } }  } } ] )
    

    但我收到这个错误:

    2019-01-29T11:06:05.642-0800 E 查询 [js] 错误:命令失败:
    {
    “好的”:0,
    "errmsg" : "$convert 中不支持从数组到 int 的转换
    没有 onError 值”,
    “代码”:241,
    "codeName" : "转换失败"
    }:聚合失败:
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    doassert@src/mongo/shell/assert.js:18:14
    _assertCommandWorked@src/mongo/shell/assert.js:534:17
    assert.commandWorked@src/mongo/shell/assert.js:618:16
    DB.prototype._runAggregate@src/mongo/shell/db.js:260:9
    DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1062:12
    @(外壳):1:1

  2. 我还尝试了以下方法:

    db.collection_name.aggregate( 
    [{  '$project': { 'values': '$data.Cables.Value', }}, 
      { '$unwind': '$values' }, 
      { '$addFields': { 'avgValue': { '$avg': { 'input': '$values', 'to': 
      'int' } }  } } 
    ] )
    

    但我也得到这个输出:

    {“_id”:ObjectId(“5c509604fc007808c427edcb”),“值”:
    [“24.3”、“23.3”、“25.3”、“31.3”、“90.3”]、“avgValue”:空 }

预期值应该是值字段的平均值。
我需要对嵌套文档值进行某种转换。

传入的字符串值必须转换为整数或小数,然后计算其平均值。

然后在 C# 代码中使用它来生成管道

var pipeline = new[] 
{ 
  project, unwind, addfields 
};

Use toDouble代替toInt因为你的值不是整数。尝试以下阶段。

[
    {
        '$project': {
            'values': '$data.Cables.Value'
        }
    }, {
        '$unwind': {
            'path': '$values'
        }
    }, {
        '$project': {
            'values': {
                '$map': {
                    'input': '$values', 
                    'as': 'value', 
                    'in': {
                        '$toDouble': '$$value'
                    }
                }
            }
        }
    }, {
        '$addFields': {
            'avgValue': {
                '$avg': '$values'
            }
        }
    }
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB 字符串转int 的相关文章

  • 从字节数组中删除多余的“空”字符并转换为字符串[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经为此工作了一段时间 但在这里没
  • 使用 or 运算符进行 Morphia 查询

    我想知道如何使用 or 运算符编写 Morphia mongodb 查询我这样写了 mongodb 查询 效果很好 db Inv find or sug id 2 grp id 2 但是当我尝试在吗啡中编写此内容时 我感到很困惑 以下查询是
  • 我可以在 Delphi 中使用字符串“IsEmpty”方法吗

    内河码头文件 IsEmpty 方法 http docs embarcadero com products rad studio delphiAndcpp2009 HelpUpdate2 EN html delphivclwin32 Syst
  • 来自字符串的文件大小

    我如何从 php 中的字符串中获取 文件大小 我将字符串作为 blob 放入 mysql 数据库中 并且需要存储 blob 的大小 我的解决方案是创建一个临时文件并将字符串放入临时文件中 现在我可以从 字符串 中获取文件大小 但这个解决方案
  • 有一种方法可以在 MongoDB 中强制引用完整性 [重复]

    这个问题在这里已经有答案了 当您搜索与 Mongo DB 相关的引用完整性时 标准响应是 MongoDB 不支持此 标准解释是 MongoDB 支持 refs 和 populate 但是没有什么可以阻止您将 ref 更改为无效值 对于许多具
  • C++ 清理字符串函数

    我需要为以下字符构建自己的清理函数 n r 0 and CTRL Z 我想确保以下代码能够实现这一目的 并且没有副作用 include
  • 为什么 Casbah / Java MongoDB 驱动程序最终会出现 java.lang.IllegalArgumentException?

    我使用时看到一个奇怪的问题casbah java driver 当驱动程序尝试从 mongo 创建响应时 我不断遇到以下异常 Oct 16 2012 10 45 07 AM com mongodb DBTCPConnector MyPort
  • 下一个和上一个文档

    我正在制作一个图片库 每个图像都有一个 id 当我查看图像时 我想要接下来的 3 个图像和之前的 3 个图像 我怎样才能在 mongodb 查询中得到这个 我认为我可以使用 sort by id 因为这是不可排序的 也许使用mapReduc
  • 是否可以将 mongodb 与 sqlalchemy 一起使用?

    我在中找不到任何有关连接 mongodb 的信息sqlalchemy 的文档 http docs sqlalchemy org en latest 和谷歌搜索 是否可以将 mongodb 与 sqlalchemy 一起使用 谢谢 根据 sq
  • 使用 HashMap 映射 String 和 int

    我有一个显示国家 地区名称的列表视图 我已将名称作为字符串数组存储在 strings xml 中 称为国家 地区名称 在填充 ListView 时 我使用从 strings xml 读取的 ArrayAdapter String count
  • 在 config.js 中打开 admin 以查看服务器统计信息

    拉动后运行此命令 docker run d p 27017 27017 e MONGO INITDB ROOT USERNAME admin e MONGO INITDB ROOT PASSWORD password name mongod
  • 转义字符串中的反斜杠

    我想知道什么是转义字符串中的反斜杠而不添加不必要的斜杠的好方法 我的意思是 通常如果我想转义字符串中的反斜杠 最简单的方法是使用String Replace 像这样 string s someString Replace 可以使用正则表达式
  • 为任何更新查询增加 Mongoose 文档版本的简单方法?

    我想开始利用 Mongooses 文档版本控制 v key 我在实际增加版本值时遇到了问题 然后我发现您必须添加this increment 执行查询时 有没有办法自动递增 目前 我只是将其添加到pre用于更新类型查询的中间件 module
  • 将 mongo 数组转换为具有键值对的对象

    我有一个包含字符串数组的 mongo 文档 我需要将这个特定的字符串数组转换为包含键值对的对象数组 以下是我目前的做法 id ObjectId 57e3720836e36f63695a2ef2 platform A1 available C
  • 为什么 Java 和 .NET 中的字符串不能是可变的?

    为什么他们决定制作String在 Java 和 NET 以及其他一些语言 中是不可变的 他们为什么不让它可变呢 根据有效的Java http www oracle com technetwork java effectivejava 136
  • 如何使用逗号和行分隔符对字符串进行标记

    我正在 Swift 中制作一个简单的 String Tokenizer 就像在 Java 中一样 但这对我来说确实不起作用 我的数据源中每行的末尾用 分隔 数据用逗号分隔 例如 字符串 1 字符串 2 字符串 3 字符串 1 字符串 2 字
  • 如何从字符串中分离字符和数字部分

    例如 我想分开 OS234 to OS and 234 AA4230 to AA and 4230 我使用了以下简单的解决方案 但我确信应该有一个更有效和更强大的解决方案 private void demo string cell ABCD
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 假装 .NET 字符串是值类型

    在 NET 中 字符串是不可变的 并且是引用类型变量 这通常会让新的 NET 开发人员感到惊讶 因为他们的行为可能会将它们误认为是值类型对象 然而 除了使用实践StringBuilder对于长连接 尤其是 在循环中 在实践中是否有任何理由需
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0

随机推荐

  • 使用 PDFViewer.jar 从资产文件夹中读取 pdf

    我想使用读取存储在 asset 文件夹中的 pdf 文件PDFViewer jar 我尝试了这种方式 但收到错误消息 不幸的是它被停止了 谁能帮助我如何实施它 public class MainActivity extends Activi
  • Spring 中的动态特征标志

    我的网络应用程序有一个方法test每两分钟由 cronjob 调用一次 我希望能够在solution a and solution b带有一些功能标志 而无需每次都部署它 Scheduled fixedRateService 120000
  • seleniumexecuteScript 在 IE 上挂起

    好的 我已经在网上搜索了两天来解决模式对话框问题 那里有很棒的信息 除了 IE 之外 一切都有效 我正在尝试打开文件上传对话框并选择一个新文件 我创建了 autoIT 脚本 它们在 FF 和 Chrome 上运行得很好 当我尝试使用 IE
  • Javascript 将事件附加到类名

    如果我有 10 个项目 带有类名keyword div class keyword div 例如 我如何附加事件click 在此元素上 我尝试了以下操作 但没有运气 没有出现警报 document getElementsByClassNam
  • 如何简化空安全的compareTo()实现?

    我正在实施compareTo 像这样的简单类的方法 能够使用Collections sort 以及 Java 平台提供的其他好处 public class Metadata implements Comparable
  • android 改造,使用这种格式发布整个 Pojo

    我想在retrofit2中发布这种请求 所以如果有人对此有想法 那么这将对我有很大帮助 reqObject task singleUser taskData userID 1 是的 好问题 这是一些什么无法理解 for Beginner 所
  • 如何从 SQL Server 表获取 JSON 对象?

    我有一个视图 我想将其转换为 JSON 我可以使用什么 SQL 在服务器上生成需要返回的 JSON 字符串 Author Thiago R Santos Create date Aug 3rd 2008 Description Return
  • 使用 Gradle 2.2.1 和 Android Studio 1.2.2 构建项目

    我想从 Eclipse 切换到 Android Studio 然后我下载 k9mail 开源项目并决定将其导入 AS 中 我不熟悉 AS 和 Gradle 以及构建系统 我安装 Android Studio 1 2 2 版本和 Gradle
  • 不支持的方法:GradleProject.getBuildScript()

    我在 mac os x 上将 adt 项目 导出并创建 gradle 文件后 导入 Android Studio 时遇到此错误 android studio 版本是 3 6 最新 gradle 版本是 1 8 最新 错误显示为 不受支持的方
  • 寻找 Jetpack Compose YouTube 视频播放器包装依赖项

    Intro 我是 Jetpack Compose 的新手 对我来说 在第一次尝试时理解或让所有内容都正确并不容易 这就是为什么我喜欢查看其他人的开源工作以更好地理解该主题 Problem 我当前的问题是我必须将 YouTube 视频嵌入到我
  • 使用 POST 作为 URL 字符限制的解决方法

    如果你有一个API 仅仅因为URL长度限制和请求中传递复杂参数而支持POST操作 你还能说你有RESTful架构吗 上面的内容基本上意味着 对于这个特定的 只读 API GET 和 POST 之间没有语义差异 因此可以使用 GET 完成的操
  • CPanel SQLSTATE[HY000] [1045] 用户访问被拒绝

    我是 Cpanel laravel 托管的新手 我面临一个具体问题SQLSTATE HY000 1045 用户 mbaam trodian localhost 的访问被拒绝 使用密码 YES SQL 从users where email 电
  • 使用 ReSharper 进行 AngularJS 单元测试

    我正在尝试为与 ReSharper 测试运行程序一起运行的 AngularJS 控制器进行 Jasmine 单元测试 以便我可以在 VS 2012 中的一个位置运行客户端和服务器端测试 我遇到了一个问题 即 ReSharper 测试运行程序
  • Spring Data Mongo 可以只更新文档中的脏字段吗?

    我已经开始使用spring data mongo对于有很多东西需要持久化的应用程序 我们实际上选择了 mongo 因为它是这样宣传的 现在 我们严重沉迷于 Spring 我们发现使用它的一些功能我们的生活非常轻松 感谢 Spring 数据人
  • DotNet 舍入日期时间为最后 15 分钟 [重复]

    这个问题在这里已经有答案了 是否有函数可以将日期时间四舍五入到上个季度 例子 08 03 00 becomes 08 00 00 08 14 00 becomes 08 00 00 08 15 00 stays 08 15 00 08 16
  • 了解 DICOM 图像内的 BPP

    几天以来我一直在使用 FO DICOM 处理 DICOM 文件 我使用一组 dicom 文件进行测试 并且打印了 光度解释 和 每像素样本 值 以便更好地了解我正在处理的图像类型 光度解释的结果是 MONOCHROME2 每像素样本的结果是
  • MySQL ODBC 配置

    我已经成功地让我的 Access 作为 MySQL 的前端 我已经设法通过连接字符串使其工作 但由于代码中的一些细节 我想将 DSN 配置保存为用户 DSN 我遇到了一个具体问题 我需要使用option 3在我的连接字符串中 因为没有opt
  • java.lang.NumberFormatException:需要一个 int,但在第 1 行第 8454 列处为 0.6

    我在演示项目中使用改造库进行调用 我收到以下错误 java lang NumberFormatException 预期为 int 但在第 1 行第 8454 列路径 result results ads 2 acres 处为 0 6 我知道
  • 创建默认结构的最惯用方法

    要创建默认结构 我曾经看到过fn new gt Self在 Rust 中 但是今天 我发现Default 因此有两种方法可以创建默认结构体 struct Point x i32 y i32 impl Point fn new gt Self
  • MongoDB 字符串转int

    我想将MongoDB值字段的字符串转换为整数 然后计算平均值 这是我的 JSON id ObjectId 5c49f398fc0078178c76705b my json data Time Created ISODate 2019 01