MongoDB Stitch возвращает данные как $ NumberDouble вместо самого числа

Я использую MongoDB Stitch для создания API с поддержкой данных, но когда я делаю запрос GET, данные возвращаются, где числа отображаются как:

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

Куда бы я хотел, чтобы они вернулись так же:

"firstHit": 3

У меня много объектов внутри объектов, и я вставляю данные через оболочку mongo, я не уверен, что это имеет какое-то значение.

У кого-нибудь есть опыт в этом? Спасибо!


person ClaytonO    schedule 20.05.2020    source источник
comment
Не имел большого опыта работы со Stitch, но другой ответ, здесь, предполагает, что вы получаете ответ EJSON. См. По этой ссылке некоторые возможные предложения по синтаксическому анализу ответа. Если нет, отредактируйте свой вопрос и добавьте, как вы делаете запрос GET.   -  person k427h1c    schedule 21.05.2020


Ответы (1)


По умолчанию формат результата, возвращаемый веб-перехватчиками MongoDB Stitch, находится в MongoDB Extended JSON, или EJSON для краткости. Это полезно для определения типов данных, которые в противном случае были бы потеряны в обычном JSON. Некоторые типы объектов не имеют эквивалента в JSON, например ObjectId () и Date ().

Если вы хотите вернуться как обычный JSON, вы можете установить объект ответа в качестве примера ниже:

exports = function(payload, response) {

    result = {"firsthit": 10};

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

Вы также можете найти библиотеку EJSON и Stitch Utility Packages как полезную дополнительную информацию.

person Wan Bachtiar    schedule 21.05.2020