You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 Integration Studio数据服务项目MongoDB整数字段转JSON报错求助

解决WSO2 Integration Studio中MongoDB数值类型字段转JSON的报错问题

问题根源在于你在JSON结果模板里,用双引号包裹了数值类型的字段引用"$document.RoomCount",WSO2会强制将该字段值按字符串类型处理,但MongoDB返回的RoomCount是整数类型,类型不匹配导致报错。

以下是两种针对性解决方案:

方案1:保留原数值类型输出

直接去掉字段值的双引号,让WSO2保留MongoDB返回的原始数值类型:

<query id="MunicipalBuildingDetails" useConfig="MongoDb">
    <expression>collectionName.find()</expression>
    <result outputType="json" escapeNonPrintableChar="true">{
  Result:
  {
      Data:
      [{
          "Col1":$document.RoomCount
       }
      ]
  }
}</result>
</query>

方案2:将数值转成字符串输出

如果业务需要把数值转为字符串返回,可通过MongoDB的聚合操作在查询阶段转换字段类型:

<query id="MunicipalBuildingDetails" useConfig="MongoDb">
    <expression>collectionName.aggregate([{ $project: { RoomCount: { $toString: "$RoomCount" } } }])</expression>
    <result outputType="json" escapeNonPrintableChar="true">{
  Result:
  {
      Data:
      [{
          "Col1":"$document.RoomCount"
       }
      ]
  }
}</result>
</query>

根据你的业务需求选择对应方案即可:方案1适用于需要保留数值类型的场景,方案2适用于必须输出字符串类型的场景。

内容的提问来源于stack exchange,提问作者Ahmet Kalem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:05:23