javascript - 我可以编辑 MongoDB 对象并取消它的先前值吗?
问题描述
假设我有一个模型,其字段名为draftFields
. 它是一个对象(但它可以是一个数组)。
我将创建一个PUT
将数据添加到draftFields
. 我的问题是:我可以将数据添加到 draftFields 并保留以前的值吗?
假设我已将第一个数据添加到draftFields
. 例如:
draftFields = {
someRandomValue: 'hi'
}
之后我将提出另一个PUT
请求,它应该如下所示:
draftFields = {
someRandomValue: "hi",
anotherRandomValue: "hey"
}
我怎样才能做到这一点?每次我更新我的draftFields
obj 时,它都会删除以前的值。我必须将它保存在我的前端状态才能保存以前的值。是否有任何解决方法或方法来保留后端的值?
这是我的代码自动取款机:
app.put('/api/save-draft/:id', function (req, res) {
User.findOneAndUpdate(
{ _id: req.params.id },
{ $set: { draftFields: req.body.draftFields } },
{ new: true },
(err, doc) => {
if (err) {
console.log('Something wrong when updating data!');
res.status(400).send('Error');
}
res.status(200).send('All good!');
console.log(doc);
},
);
});
如果相关,我正在使用 Javascript(ReactJS) 和 NodeJS。
解决方案
推荐阅读
- sql - 有没有办法在一列中找到非零值与零值的百分比?
- java - 我怎么能把我的私人 int 放入公共 int
- mpeg2-ts - 如何从视频数据包中识别 IDR 帧
- uber-api - 是否可以从 Uber API 中发现完成行程的车辆类型?
- c# - 没有控制台窗口的 C# 进程执行 Bath 文件(启动其他子进程)
- django-rest-framework - 如何获取由序列化程序中的视图创建和传递的查询集
- python - 尝试创建类时出现“AttributeError:'str' 对象没有属性'name'”错误
- oracle - Spring Data Rest 和 Oracle 在 2 个日期之间查询什么都不做
- r - 使用来自不同数据集的 geom_point 和 geom_smooth 添加图例
- ios - 如何让 iOS 尊重已安装的 Web 应用程序的清单文件?