猫鼬在插入之前更改字段名

时间:2021-05-27 14:43:23

标签: javascript node.js mongodb mongoose mongoose-schema

我有一个这样的架构

const UserSchema = new Schema({
 first_name: "john",
 last_name: "doe"
})

在我的 api 路由上,我将在响应正文中收到数据

request.body = {
  firstName: "john",
  lastName: "doe"
}

我想在将有效负载字段从驼峰大小更改为下划线后实现对 mongodb 的插入

我无法更新 Schema 或 Api Spec 的大小写。 有没有我可以实现的解决方案,它在数据库性能方面并不昂贵?

我对 pre('save') 进行了一般性的查找和了解,但这需要更多的编码,并且需要通过代码对整个对象进行操作。

插入后更新也不是什么解决方案。

我目前正在使用 mongoose save 进行插入。 我可以切换到 insertManyupdateMany(使用 upsert: true)或任何其他插入方法

1 个答案:

答案 0 :(得分:0)

您可以简单地将请求负载映射到所需的 mongo 文档结构:

app.post('/add-user', async (req, res) => {
  await User.create({ first_name: req.firstName, last_name: req.lastName });
  // ...
});
相关问题