node.js - 如何从 Mongoose 查询结果中省略字段?

标签 node.js mongodb mongoose nosql

使用 findById 获取 mongoose 文档后,我无法过滤/省略某些字段

我尝试了const {password, ...user } = wait UserModel.findById(123);

但是用户变成的不是普通的js对象而是mongoose文档。

请注意,.lean().select() 不是一个选项。

理想情况下,我想要类似于 const { password, ...user } 但没有精简的东西。

我想删除 user.password 会起作用,但我不想弄乱 Mongoose 文档本身。因为它有字段的 setter / getter 。

最佳答案

let user=await UserModel.findById(123,'user');

在这里,您可以输入投影作为查询中的第二个参数,并添加更多键以作为“用户密码”等形式发送响应。

关于node.js - 如何从 Mongoose 查询结果中省略字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57356701/

相关文章:

Heroku 上的 Node.js 有 2 个端口

node.js - mongoose 不会获取更新的数据,除非重新启动nodejs

node.js - 为什么 req.params 返回 'undefined' ?

mongodb - Mongoose增量值几次后错误

json - 如何在 Express 4 中将 Promise 的 yield 结果作为流发送?

node.js - 系统中security_token是什么意思, Node 堆快照中全局中native_context是什么意思

javascript - 如果我想在 .then() 触发后做某事,可以在 JavaScript 中使用 Promise

node.js - 防止 NoSQL 注入(inject) : Isn't mongoose supposed to convert inputs based on given schema?

c# - DDD - 聚合根 - 处理效率和并发

javascript - Node.js/MongoDB : How can I use module. 导出以将 localhost 数据库 url 传递给 server.js 文件?