无法从 JSON 对象中删除字段 - Node JS
Posted
技术标签:
【中文标题】无法从 JSON 对象中删除字段 - Node JS【英文标题】:Cant remove field from JSON object - Node JS 【发布时间】:2018-09-28 11:38:47 【问题描述】:我有一条生成 PDF 的路线。
featureRoutes.route('/report/').get(function (req, res)
Feature.find(function (err,features)
if(err)
console.log(err);
else
pdf.create(features.toString()).toStream(function (err, stream)
if (err) return res.send(err);
res.type('pdf');
stream.pipe(res);
);
);
);
pdf 的内容是一个 JSON 对象,看起来像这样。
[ _id: 5ad5ddddcd054b2b5b20143c,
name: 'Project sidebar',
description: '<p>The project sidebar that we previewed in <a href="https://confluence.atlassian.com/jira/jira-6-4-release-notes-678561444.html">JIRA 6.4</a> is here to stay. We built this new navigation experience to make it easier for you to find what you need in your projects. It's even better, if you are using JIRA Agile: your backlog, sprints, and reports are now just a click away. If you've used the sidebar with JIRA Agile before, you'll notice that cross-project boards, which include multiple projects, now have a project sidebar as well — albeit a simpler version.</p>\n',
__v: 0
我需要剥离 _id 字段和 __V 字段。我试试这个:
delete features._id
和
delete features.__V
但是生成的PDF还是包含id和__V字段
如何正确删除节点中的字段?
【问题讨论】:
javascript delete object property not working的可能重复 是features
一个数组或json。从代码看起来它是数组中的json?可以是delete features[0]._id
@Macintosh_89 - 它不会删除任何项目,我使用的是节点 8.11
回答:***.com/q/51982694/2034750
【参考方案1】:
我在 Feature.find 的末尾用 .select 限制了字段
.select("-__v -_id");
【讨论】:
create
时你怎么能做到?
请参考***.com/q/51982694/2034750,可能会有帮助。以上是关于无法从 JSON 对象中删除字段 - Node JS的主要内容,如果未能解决你的问题,请参考以下文章
如何通过使用 node.js 从实时 json 数据中提取特定字段来创建新的单个 json 对象
node-删除对象中指定属性失效问题-JSON.parse实例化
Node.js、Express、jQuery.param() - 从 JSON 中删除引号
Dataflow 中的 BigQuery 无法从 Cloud Storage 加载数据:为非记录字段指定了 JSON 对象