javascript - 如何使用 Mongoose 只更新 MongoDB 中的一个属性?
问题描述
这是我的模型:
import mongoose from 'mongoose';
const UserData = new mongoose.Schema({
additionalData: Array,
name: String,
});
mongoose.model('UserData', UserDataSchema);
mongoose.set('useFindAndModify', false);
export default mongoose.model('UserData');
如何更新模型的additionalData
属性,UserData
例如附加另一个数组。
假设附加数组是
[ 1, 2, 3]
解决方案
您可以使用$addToSet
await UserData.update({name:"something"},{ $addToSet: { additionalData: [1,2,3] })
或者
await UserData.updateOne({name:"something"},{ $addToSet: { additionalData: [1,2,3] })
如果您没有条件这样做,这将添加到所有文档中
await UserData.update({},{ $addToSet: { additionalData: [1,2,3] })
如果要从数组中删除多个值,请使用$pull
await UserData.update({},{ $pull: { additionalData: { $in: [ 1, 2,3 ] }}})
如果您想删除单个值
await UserData.update({},{ $pull: { additionalData:1 }})
推荐阅读
- css - 反应图像太长的问题
- javascript - 如何将按钮值从一个组件移动到另一个组件?
- javascript - 如何将 document.addEventListener("scroll") 放在其他文件中以在我的组件中调用它?
- python - 机器人多次响应一个命令 discord.py 的问题
- python - KivyMD MDSwiper 使用 ScrollView 时出现动画问题
- discord.py - 我试图创建一个加入角色功能,但它不起作用
- sql-server - 如何将日期时间从 PowerShell 输出转换为 yyyy-MM-dd HH:mm:ss 格式
- python - pandas方法交叉表的使用
- python - 使用 Token 使用 Python 调用 API
- python - 一个对装饰器函数的调用抑制另一个