[英]update existing JSON property value based on MongoDB Results in NodeJS
我有一个像下面的JSON
var outputJson = [
{
'Product' : 'TV',
'isSelected': 0
},
{
'Product' : 'Radio',
'isSelected': 0
},
{
'Product' : 'Book',
'isSelected': 0
},
{
'Product' : 'Watch',
'isSelected': 0
}
]
现在,我的目标是查找用户是否在MongoDB中拥有此产品中的任何一种,如果不是,我想将isSelected值从“ 0”更新为“ 1”。 我该怎么做,下面是我要做什么,但我的JSON没有更新
outputJson.forEach(function(key,value){ wishlistData.find({userID:req.user.id}, function(err,data{ data.forEach(function(k,i){ if (data[i].product=== outputJson[value].Product){ outputJson[value].isSelected = 1 } }) }); });
通过使用Promise,我的问题得到了解决
Promise.all(outputJson.map(function(i,k) {
return wishlistData.findOne({userID: req.user.id, product: i.Product}).then(function(data, err) {
if (data !== null) { // if it actually found a match
i.isSelected = 1;
}
});
})).then(function() {
console.log(outputJson);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.