我正在使用Mongoose查询我的数据,然后通过我的快递API作为响应返回数据。我希望防止API响应中出现空属性。通过猫鼬有什么好办法吗?使用express & Mongoose的推荐方法是什么?
发布于 2016-11-10 10:27:42
您可以重写toJSON mongoose模式方法,以从返回的json中删除属性。
@示例
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
https://stackoverflow.com/questions/40524937
复制相似问题