#node.js #mongodb #flutter #http
Вопрос:
недавно я разработал приложение с использованием flutter и создал API с использованием node.js и монгодб. подключение API к приложению flutter прошло успешно. и я создаю данные с помощью пакета http, но проблема, с которой я сталкиваюсь, заключается в том, что http-запрос не работает, в моем обновлении данных API успешно, но во флаттере он не работает, когда я нажимаю кнопку для обновления, код состояния ответа равен 200, это означает, что обновление прошло успешно, но данные в базе данных все еще не обновляются, когда я проверяю его в успехе обновления данных почтальона как в базе данных, так и в почтальоне. мой код флаттера:
edaitORDeleteBackup(var url) async {
await database.openDb();
var edaitORDelete =
await database.redstorewhicRecordEdaitORDeleteForBackup();
if (edaitORDelete != null) {
url = formateURL(url);
var uri = Uri.parse(url);
for (int i = 0; i < edaitORDelete.length; i ) {
if (edaitORDelete[i]["backUpEdait"] != 0) {
var accountE =
await database.redAccountBackup(edaitORDelete[i]["backUpEdait"]);
print(accountE);
var response = await http.put(uri,
headers: <String, String>{
'Content-Type': 'application/json'
},
body: jsonEncode(accountE));
if (response.statusCode == 200) {
await database.deletestorewhicRecordEdaitORDeleteForBackup(
edaitORDelete[i]["id"]);
print('success');
} else {
print('fail');
}
}
}
}
}
Обновление API с node.js и могнодб:
const doc = await Model.updateOne({accountNumber:req.body.accountNumber},{$set:req.body})
if (!doc) {
return next(new AppError('No document found with that ID', 404))
}
res.status(200).json({
status: 'success',
message: 'data update successfully',
data: {
data: doc
}
})
моя модель данных:
const accountSchem= mongoose.Schema({
accountNumber:{
type:Number,
required:['account nmuber is required'],
unique:true
},
name:{
type:String,
required:['name is required',true]
},
address:{
type:String,
required:['adress is required',true]
},
telphone:{
type:String,
required:['telephone is required',true],
unique:true
},
balance:{
type:Number,
default:0
},
issueDate:Number,
image:String,
role:{
type:String,
enum: ['admin', 'client'],
default: 'client'
}
});
accountSchem.index({personName:'text'});
accountSchem.index({telephone:1});
const Account=mongoose.model('account',accountSchem);
module.exports=Account;
API rout:
route.route('/api/account').get(controller.getAccount).
post(controller.createAccount)
.put(controller.edaitAccount);