如何使用 node 和 express.js 仅发送 json 响应中的特定字段?
Posted
技术标签:
【中文标题】如何使用 node 和 express.js 仅发送 json 响应中的特定字段?【英文标题】:How can i send only particular field in json response using node and express.js? 【发布时间】:2017-03-27 17:55:30 【问题描述】:[
id: 6dcba0f57c9b73cc1,
USER_ID: '945',
ORDER_ID: '35220',
PRODUCT_ID: '9982',
CODE: '418567066',
POINTS: '2000'
,
id: 4dcba0f57c9b73cc7,
USER_ID: '945',
ORDER_ID: '43521',
PRODUCT_ID: '1071',
CODE: '4004091261',
POINTS: '1000',
,
id: dcba0f57c9b73cce,
USER_ID: '945',
ORDER_ID: '13594',
PRODUCT_ID: '2482',
CODE: '7592231244',
POINTS: '2000',
,
id: 0f57c9b73cc74dcba,
USER_ID: '345',
ORDER_ID: '43528',
PRODUCT_ID: '1071',
CODE: '4004091267',
POINTS: '1000',
]
上面存储在我的积分汇总中的文档。
id
USER_ID
ORDER_ID
PRODUCT_ID
CODE
POINTS
而不是在每个文档中发送所有上述字段。我只需要发送
USER_ID
ORDER_ID
CODE
以下是我的控制器代码,它将仅显示/发送USER_ID: '945'
点详细信息。
exports.userpos = function(req, res)
console.log(req.params.id)
PointSummary.find('USER_ID':'945').exec(function (err, PointSummarys)
if(err) return handleError(res, err);
//return res.status(200).json(PointSummarys);
return res.status(200).json();
);
;
我该如何解决这个问题?
【问题讨论】:
相关:***.com/questions/24348437/… 【参考方案1】:您可以在 db 查询中传递您希望返回的所有字段。
exports.userpos = function(req, res)
console.log(req.params.id)
PointSummary.find('USER_ID':'945',
'USER_ID': 1,
'ORDER_ID': 1,
'CODE': 1
).exec(function (err, PointSummarys)
if(err) return handleError(res, err);
//return res.status(200).json(PointSummarys);
return res.status(200).json();
);
;
旁注:理想情况下,您希望将密钥名称保持为小写。
user_id
而不是 USER_ID
【讨论】:
没有我要求的响应现在我正在发送所有字段。但我应该只发送 USER_ID ,ORDER_ID ,CODE 以上代码只会返回_id, USER_ID ,ORDER_ID ,CODE
。这不是你想要的吗?
***.com/questions/41124705/…以上是关于如何使用 node 和 express.js 仅发送 json 响应中的特定字段?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 node 和 express.js 仅发送 json 响应中的特定字段?
如何启用调试 express.js/node.js 应用程序
如何解析 node.js、express.js、mysql2 中“rows”对象的数据
如何在超级终端中停止运行 Node.js (Express) 服务器