gpt4 book ai didi

node.js - Mongoose - 在 Model.create 中选择特定字段

转载 作者:行者123 更新时间:2023-12-04 09:42:41 26 4
gpt4 key购买 nike

 const generatedEvent = await Event.create(req.body);
res.send(generatedEvent);

我正在从请求正文中获取一些数据,并且可以生成一个新事件。当事件生成时,我会将事件返回给客户端。但我不想返回所有带有事件的字段。我想像我们使用这样的选择函数一样进行过滤操作:Event.find().select({title:1,description:1})我如何将此选择功能与 Model.create 一起使用?

最佳答案

如果你看一下 mongoose-source code ,您可以看到 Model.create 返回一个包含已创建/插入文档的 promise 。无法指定过滤选项以仅返回特定字段。

当然,您可以在创建/插入新记录后将 .find().select() 调用结合使用,但这会导致一个额外的每个插入的数据库查询没有多大意义。

您可以改为只从返回的文档中返回所需的属性,因为当 promise 解决时,您知道已使用提供的数据成功插入新文档。所以你可以简单地做:

res.send({title: generatedEvent.title, description: generatedEvent.description});

关于node.js - Mongoose - 在 Model.create 中选择特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62257063/

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