gpt4 book ai didi

mysql - 无法附加 json 数据

转载 作者:行者123 更新时间:2023-11-29 16:46:16 25 4
gpt4 key购买 nike

我正在尝试执行 mongo 查询和 mysql 查询,两个结果都验证并返回到变量中。我的问题是它只返回 mysql 数据。不附加到 mongo db 结果。如果我放置 console.log 那么它会显示,但反过来它不会显示。请让我知道下面的代码中缺少哪里。

   var message= {'msg':gloabl_vars.messages.success,'mysql':{'msg':'success','data':[]},'mongo':{'msg':'success','data':[]}}; 
var MongoClient = require('mongodb').MongoClient;
var url=gloabl_vars.mongodb_data.url;
MongoClient.connect(url,function(err, db) {
if(err) throw err;
var dbo=db.db("profilemanager");
dbo.collection('userinfo').find({_id:userdata.msisdn},{'_id':0,'subscriptions':1}).toArray(function(err,result){
if(err) throw err;
var dumpdata=result[0].subscriptions;
for(var i=0;i<dumpdata.length;i++){
var dump=JSON.parse(JSON.stringify(dumpdata[i]));
console.log(dump.state); console.log(dump.reqChrgCode);
console.log(dump.cCode);
if(dump.state==1 && dump.reqChrgCode==userdata.code && dump.cCode==userdata.service_code){
message.mongo.data['mongodb_userinfo']='Mongodb details updated.';
message.mongo.msg="Success";
message.msg="Success";
}
else{
message.mongo.msg="Failed";
message.msg="Failed";
message.mongo.data['mongodb_userinfo']='Failed to update data in mongodb.';
}
}
});
});

sql.query(db_queries, params, function(
err,
results
) {
if (err) {
console.log("error: ", err);
result(err, null);
} else {
var success_count=0;
var running_count=0;
for(let i=0;i<queries.length;i++){
var temp=results[i];
if(temp.length > 0){
message.mysql.data[i] = {"info" :queries[i],"msg":"Success"};
success_count++;
running_count++;
}
else {
message.mysql.data[i] = {"info" :queries[i],"msg":"Failed"};
success_count--;
running_count++;
}
if(success_count==(queries.length-1)) {
message.mysql.msg="Success";
}
else if(running_count==(queries.length-1)){
message.msg="Failed";
message.mysql.msg="Failed";
}
}
result(null, message);
}
});

预期输出:

{
"message": {
"msg": "Failed",
"mysql": {
"msg": "Failed",
"data": [
{
"info": "SELECT * FROM imidigitaltrans_logs.gw_api_trans_log where gtrid=?;",
"msg": "Failed"
},
]
},
"mongo": {
"msg": "success",
"data": [
"userinfo":"Updated"
]
}
}
}

实际:

{
"message": {
"msg": "Failed",
"mysql": {
"msg": "Failed",
"data": [
{
"info": "SELECT * FROM imidigitaltrans_logs.gw_api_trans_log where gtrid=?;",
"msg": "Failed"
},
]
},
"mongo": {
"msg": "success",
"data": []
}
}
}

提前致谢

最佳答案

您在数组中存储值的方式不正确。

改变

message.mongo.data['mongodb_userinfo']='Mongodb details updated.';

message.mongo.data[i] = {'mongodb_userinfo': 'Mongodb details updated.'};

您的 ELSE 条件也同样如此。

关于mysql - 无法附加 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53096138/

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