gpt4 book ai didi

node.js - 从 Mongoose 查询结果中排除 null 属性

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:15 26 4
gpt4 key购买 nike

我正在使用 Mongoose 查询我的数据,然后通过我的 Express API 将其作为响应返回。我想防止 API 响应中出现 null 属性。有没有一种好的方法可以通过 Mongoose 做到这一点?使用express 和 Mongoose 执行此操作的推荐方法是什么?

最佳答案

您可以重写 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

关于node.js - 从 Mongoose 查询结果中排除 null 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40524937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com