javascript - model.findByIdAndUpdate() 没有更新
问题描述
我正在尝试将新数据添加到用户模型中,并且很难开始findByIdAndUpdate()
工作。它不会使用新对象更新模型。
这是我正在调用findByIdAndUpdate()
并尝试添加对象的地方:
const User = require('../../models/api/user');
const customer = {
name: 'Quick Pizza & Subs',
address: '1234 Example Lane',
zip: 432123
};
User.findByIdAndUpdate(userId, customer, { new: true }, (err, user) => {
if(err) { console.log(err) };
});
在上面的代码块中,我可以验证我是否使用该userId
变量找到了正确的用户。当我console.log(user)
找回我正在寻找的用户时。我只是无法弄清楚为什么传入的对象没有更新到找到的用户集合。
用户架构:
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
username: {
type: String,
default: ''
},
password: {
type: String,
default: '',
},
registerDate: {
type: Date,
default: Date.now()
}
});
module.exports = mongoose.model('User', UserSchema);
根据猫鼬文档,这就是我需要做的一切:
Model.findByIdAndUpdate(id, { name: 'jason bourne' }, options, callback)
在我的代码中,我看不出我在做什么不同。当我在 Postman 中测试路线时,我没有收到任何错误。任何人都可以对此有所了解吗?
解决方案
我没有使用客户字段添加更新的用户架构。工作模式是:
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
username: {
type: String,
default: ''
},
password: {
type: String,
default: '',
},
customer: {
type: Object,
default: ''
},
registerDate: {
type: Date,
default: Date.now()
}
});
module.exports = mongoose.model('User', UserSchema);
推荐阅读
- javascript - 加载时显示特定的谷歌地图信息窗口
- r - 是否有用于重塑数据的 R 函数——世界银行
- datatable - 如何从 .Net Core 3.1 中的 Sql 命令的 DataTable 返回 JSON 对象
- python - 如何用笛卡尔绘制波纹球体?
- tfs - Azure Devops,如何获取我的项目的所有共享查询 - Powershell 或 C#
- php - mysqli 语句准备有问题
- python - 我无法从确实的特定时间段内抓取每个链接内容
- python - 如何仅将 dynmodb 属性的值存储到 python 变量中?
- docker - 在 helm 图表中设置嵌套元素的值
- javascript - Firebase Firestore 模拟器(TypeError :FieldValue 导致测试库出错)