我使用Mongoose查询我的数据,然后通过我的快速API将其作为响应返回。我想防止API响应中出现空属性。有没有一种很好的方式通过Mongoose做到这一点?建议使用快递和推荐的方法是什么?猫鼬?
答案 0 :(得分:1)
您可以覆盖toJSON
mongoose架构方法,以从返回的json中删除属性。
<强> @example 强>
YourSchemaName.methods.toJSON = function() {
var obj = this.toObject();
if (obj.SOME_FIELD_NAME === null) delete obj.SOME_FIELD_NAME;
return obj;
}
这里有代码可以删除有关属性的每个null
数据。
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