Объединить const Object с Object, полученным из базы данных в ответе json - PullRequest
1 голос
/ 19 сентября 2019

У меня есть некоторые относительно статические данные типа 'config' (meta), которые имеет смысл хранить в памяти, и другие более изменяемые / специфичные для пользователя данные, которые имеет смысл хранить в базе данных (в данном случае MongoDB),То, что я хотел бы сделать, это отправить res.json(), который объединяет константу meta с объектом, полученным из базы данных, но у меня проблемы с синтаксисом, и я даже не знаю, что я пытаюсьсделать достижимо.

Ниже приведены несколько попыток кодирования этого:

users_controller.js

const meta = {
    auth: {label: 'Authentication', depth: 5, hidden: false },
    name: {label: 'Name', depth: 5, hidden: false },
    email: {label: 'Email', depth: 5, hidden: false },
    phone: {label: 'Phone', depth: 5, hidden: false },
    address: {label: 'Address', depth: 5, hidden: false },
    company: {label: 'Company/Organizations', depth: 5, hidden: false },
    member: {label: 'Membership', depth: 5, hidden: false },
}

. . .
. . .

// This is my original code, which works (before trying to add in the "meta" constant):

exports.users_list = function(req,res, next) {
    UserObj.find({},(err,docs)=>res.json(docs));
};

// Below are three attempts to modify the code to add in the "meta" constant

//Syntax 1 (doesn't work):
exports.users_list = function(req,res, next) {
    UserObj.find({},(err,docs)=>res.json(JSON.parse(`'{meta: ${meta}, payload: ${docs}}'`)));
};

//Syntax 2 (doesn't work):
exports.users_list = function(req,res, next) {
    UserObj.find({},(err,docs)=>res.json(JSON.parse(`'{"meta": ${meta}, "payload": ${docs}}'`)));
};

//Syntax 3 (doesn't work):
exports.users_list = function(req,res, next) {
    UserObj.find({},(err,docs)=>res.json(JSON.parse('{"meta":' + meta + ', "payload":' + docs + '}')));
};

Большое спасибо заранее, если кто-нибудь может помочь мне найти правильноесинтаксис «добавить» в константе meta в ответ.

1 Ответ

0 голосов
/ 20 сентября 2019

Это работает:

exports.users_list = function(req,res, next) { UserObj.find({},(err,docs)=>res.json(JSON.parse('{"meta":' + JSON.stringify(meta) + ', "payload":' + JSON.stringify(docs) + '}')))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...