Mongodb 将mongoose的响应格式化为模型
如何格式化来自mongoose的数据响应?对于简单的Post模式Mongodb 将mongoose的响应格式化为模型,mongodb,express,Mongodb,Express,如何格式化来自mongoose的数据响应?对于简单的Post模式 const postSchema = new mongoose.Schema({ title: { type: String, required: true, } },{ timestamps: true }); 每当我执行GET请求以查找所有文章时,它都会返回其所有字段,包括\u id和\u v,在这些字段中,我不希望在API中返回这些字段 是否有一种方法可以只选择我想返回的某些字段 据我所知,我可
const postSchema = new mongoose.Schema({
title: {
type: String,
required: true,
}
},{
timestamps: true
});
每当我执行GET请求以查找所有文章时,它都会返回其所有字段,包括\u id
和\u v
,在这些字段中,我不希望在API中返回这些字段
是否有一种方法可以只选择我想返回的某些字段
据我所知,我可以在查询中设置第二个参数title
,它只返回\u id
和title
const post = await Post.find({},'title');
我发现上面的方法不是筛选字段的合适方法,将来如果值是深度嵌套的对象,并且我们希望选择某些值
是否有一种方法可以创建模型/类,并根据模型/类选择字段并返回响应?您可以使用
从猫鼬中选择
您可以只选择所需的字段
var find=wait model.find({})。选择(“my_字段”)
或者不显示不需要的字段
var find=await model.find({})。选择(“-my_字段”)
检查,或者可以使用find()排除不需要的内容。选择('-\u v')
。然后返回除\uu v
或您在其中输入的任何键以外的所有其他内容。例如:find()。如果要排除\u id
和\u v
的话,请选择('-\u id-\u v')
,这也适用于find()。填充('-\u id-\u v')
。第一个参数是key
,您可以ref
到其他模式,而第二个参数是您想要或想要排除的key
,这取决于您的用例。如果你想拥有一个真正动态且随时变化的东西(查询),那么GraphQL的合并将使这项工作变得非常出色。这似乎是一个简单模型的答案,但如果模型更复杂,我可能会合并@lala提到的GraphQL