首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mongoose查询结果中排除空属性

从Mongoose查询结果中排除空属性
EN

Stack Overflow用户
提问于 2016-11-10 10:12:17
回答 1查看 1.4K关注 0票数 2

我正在使用Mongoose查询我的数据,然后通过我的快递API作为响应返回数据。我希望防止API响应中出现空属性。通过猫鼬有什么好办法吗?使用express & Mongoose的推荐方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 10:27:42

您可以重写toJSON mongoose模式方法,以从返回的json中删除属性。

@示例

代码语言:javascript
复制
YourSchemaName.methods.toJSON = function() {
  var obj = this.toObject();

  if (obj.SOME_FIELD_NAME === null) delete obj.SOME_FIELD_NAME;
  return obj;
}

嵌套对象处理

这里有一个代码,它将删除所有属性上的null数据。

代码语言:javascript
复制
const removeEmpty = (obj) => {
  Object.keys(obj).forEach(key =>
    (obj[key] && typeof obj[key] === 'object') && removeEmpty(obj[key]) ||
    (obj[key] === '' || obj[key] === null) && delete obj[key]
  );
  return obj;
};

how-do-i-remove-all-null-and-empty-string-values-from-a-json-object

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40524937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档