【问题标题】:MongoDB Stitch returns data as $NumberDouble instead of the number itselfMongoDB Stitch 将数据返回为 $NumberDouble 而不是数字本身
【发布时间】:2020-05-21 11:31:34
【问题描述】:

我正在使用 MongoDB Stitch 创建启用数据的 API,但是当我发出 GET 请求时,将返回数据,其中数字显示为:

"firstHit": {
   "$numberInt": "3"

我希望它们在哪里返回:

"firstHit": 3

我在对象中有很多对象,我正在通过 mongo shell 插入数据,我不确定这是否重要。

有人有这方面的经验吗?谢谢!

【问题讨论】:

  • 对 Stitch 没有太多经验,但另一个答案 here 建议您收到 EJSON 响应。有关如何解析响应的一些可能建议,请参阅此 link。如果不是,请编辑您的问题并添加您提出 GET 请求的方式。

标签: mongodb api bson mongodb-stitch


【解决方案1】:

默认情况下,MongoDB Stitch webhooks 返回的结果格式为MongoDB Extended JSON 格式,简称EJSON。这对于定义在普通 JSON 中会丢失的数据类型很有用。有些对象类型在 JSON 中没有等价物,例如 ObjectId()Date()

如果你想返回一个普通的JSON,你可以设置response object,如下面的例子:

exports = function(payload, response) {

    result = {"firsthit": 10};

    response.setStatusCode(200);
    response.setHeader("Content-Type", "application/json");
    response.setBody(JSON.stringify(result));
}

您还可以找到EJSON libraryStitch Utility Packages 作为有用的附加信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多