node.js - 如何在 mongodb 中更新?
问题描述
当我想用 mongo 更新数据时遇到问题,这是我的代码:
async updateStatusLink(campaingId, data) {
try {
const campaign = await this.findById(campaingId).exec(); // campaing OK
if (!campaign) new Error(responseBuilder(undefined, 404, name, 'NOT_FOUND')); // if campaing is false not exist
const index = await _.findIndex(campaign.searchEngine, o => o.id === data.influencerId); // index of user inside searchEngine in this list OK
if (index < 0) new Error(responseBuilder(undefined, 404, name, 'NOT_FOUND')); // if index is -1 not exist the user
if (!campaign.searchEngine[index].linkCampaing) new Error(responseBuilder(undefined, 404, name, 'NOT_FOUND')); // haven`t link
console.log(index, campaign.searchEngine[index].linkCampaing.influencerData.linkStatus);
campaign.searchEngine[index].linkCampaing.influencerData.linkStatus = data.status;
await campaign.save();
return responseBuilder({ success: true }, 200, name);
} catch (ex) {
try {
ex = JSON.parse(ex.message)
} catch (ex1) {
throw new Error(responseBuilder(undefined, 400, name, ex.message));
}
throw new Error(responseBuilder(undefined, ex.statusCode, name, ex.message));
}
}
问题是 mongo 没有保存更新,在这一行:
campaign.searchEngine[index].linkCampaing.influencerData.linkStatus = data.status;
await campaign.save();
任何想法,你能帮我吗?
解决方案
推荐阅读
- java - PDF 文档的数字签名
- javascript - 以两种日期格式(YYYY/MM/DD hh:mm)获取天数差异?
- c# - ASP .NET Rest API 重复调用另一个 API
- java - 未知对象的调用方法
- oracle - ORACLE 中的列索引
- sql-server - SQL Server 将表导出到 .dat 文件
- kotlin - kotlin 传递函数作为参数得到类型不匹配,必需:()-> 单位,找到:单位
- vba - Excel VBA:下标超出范围代码修复
- mysql - 不允许主机 '192.168.xx' 连接到此 MySQL 服务器
- python - 获取异常详细信息