gpt4 book ai didi

json - 更新 mongodb 集合内的 json 对象 : mongoose

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:59 25 4
gpt4 key购买 nike

这是名为campaignResponse 的字段之一内的json 对象的结构。

 campaignResponse:
{ prop:
{ summary: 't',
retailer: '4',
sent: 't',
queued: 'f',
open: 'f',
spam: 't',
click: 't',
blocked: 'f',
bounce: 'f',
unsub: 'f',
To: 'kartooot@gmail.com',
status: 'clicked',
subject: '',
messageid: '20829150339986762',
From: '',
details: '',
date: '2017-04-03T12:51:38' },
camp2:
{ date: '2017-04-03T12:51:38',
details: '',
From: '',
messageid: '20829150339986762',
subject: '',
status: 'clicked',
To: 'kartooot@gmail.com',
unsub: 'f',
bounce: 'f',
blocked: 'f',
click: 't',
spam: 'f',
open: 't',
queued: 'f',
sent: 't',
retailer: '4',
summary: 'f' },
camp1:
{ date: '2017-04-03T12:51:38',
details: '',
From: '',
messageid: '20829150339986762',
subject: '',
status: 'clicked',
To: 'kartooot@gmail.com',
unsub: 'f',
bounce: 'f',
blocked: 'f',
click: 't',
spam: 't',
open: 'f',
queued: 'f',
sent: 't',
retailer: '4',
summary: 'f' } }

我想更新 Prop ,camp1,camp2。我想通过一个变量传递它。所以在某一时刻variable = camp1 。我想将 CampaignResponse.variable 设置为 obj。但我收到一个语法错误,提示“意外的标记。”。

User.findOneAndUpdate({email: res[i].email},{$set: {campaignSummary: temp, campaignResponse.varialble: obj}},{new: true},function(err ,result2){
if(err)
callback(err);
else{
console.log(result2);
callback(err,result2);
}
})

请各位帮帮我。甚至建议更好的方法来做到这一点,我们将不胜感激。谢谢。

最佳答案

抱歉,我错过了关于它是动态的部分......

应该是

var $set = {campaignSummary: temp};
$set["campaignResponse."+varialble] = obj;
User.findOneAndUpdate({email: res[i].email},{$set:$set},{new: true},function(err ,result2){
if(err)
callback(err);
else{
console.log(result2);
callback(err,result2);
}
})

当使用来自变量的键时,您想要的是使用它来连接最终字符串,然后在 [] 语法中使用它以便能够定义正确的属性名称。

关于json - 更新 mongodb 集合内的 json 对象 : mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45276569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com