【发布时间】:2017-10-06 05:41:15
【问题描述】:
我的请求有一组联系人,我必须确定联系人是否在数据库中:
{
"vishReqHeader": {
"ClientId": "0",
"AppId": "101",
"ApiCode": "1007",
"ReqNo": "123456789"
},
"vishReqBody": {
"RegPhNo": "9880889660",
"Cnt": "3",
"Contacts": [{
"PhNo": "9880889660",
"Name": "Alex"
},
{
"PhNo": "9538607847",
"Name": "Cindy"
},
{
"PhNo": "9886949651",
"Name": "Rob"
}
]
},
"vishReqTrailer": {
"DeviceData": "lat=12.9677992|lng=77.596204|IMEI=1234567890|appVer=3.0.1|OS=ANDROID|SoftVer=6.0.1",
"Authentication": "securitytoken"
}
}
如果存在,则获取详细信息并通过添加获取的详细信息来保存详细信息。
如果不只是在数据库中添加联系人,但查询没有按预期工作
router.route('/uploadContacts')
.post(function(req,res){
var j;
for( j = 0; j < req.body.vishReqBody.Contacts.length; j++) {
ProfileDetails.findOne({ 'PhNo' : req.body.vishReqBody.Contacts[j].PhNo} ,
function(err, profileDetail) {
console.log("*************reqreq********************")
console.log(j)
if(profileDetail && profileDetail.PhNo ){
console.log(req.body.vishReqBody.Contacts)
console.log("*************reqreq********************")
var contactsDetails = new contacts();
contactsDetails.PhNo=req.body.vishReqBody.Contacts[j].PhNo
contactsDetails.RegStatus=profileDetail.Reg_Status
contactsDetails.profileId=profileDetail.Profile_Id
contactsDetails.PhoneBookName=req.body.vishReqBody.Contacts[j].Name
contactsDetails.updatedByProfileId=req.body.vishReqHeader.AppId
contactsDetails.save(function(err,result){
})
}
});
}
})
在代码中
如果我确实找到它正在正确显示查找详细信息,当我尝试在 for 循环中保存第 j 个值时,它始终是 3
不确定正在通过的异步调用
请帮助我更正查询,联系人数组中的每个元素都必须查找并保存我的操作方式
【问题讨论】:
标签: arrays mongodb for-loop find save