#javascript #node.js
#javascript #node.js
Вопрос:
Я написал несколько Node.js код для моего приложения для социальных сетей, и я столкнулся с ошибкой в моем коде:
app.post('/unfriend', function (request, result) {
var accessToken = request.fields.accessToken;
var _id = request.fields._id;
database.collection("users").findOne({
"accessToken": accessToken
}, function (error, user) {
if (user == null) {
result.json({
"status": "error",
"message": "User has been logged out. Please login again."
});
} else {
var me = user;
database.collection("users").findOne({
"_id": ObjectId(_id)
}, function (error, result) {
if (user == null) {
result.json({
"status": "error",
"message": "User do not exist."
});
} else {
database.collection("users").updateOne({
"_id": ObjectId(_id)
}, {
$pull: {
"friends": {
"_id": me._id
}
}
}, function (error, data) {
database.collection("users").updateOne({
"_id": me._id
}, {
$pull: {
"friends": {
"_id": user._id
}
}
}, function (error, data) {
result.json({
"status": "success",
"message": "Friend has been removed."
});
});
});
}
});
}
});
});
`
Мой терминал показывает:
result.json не является функцией.
Комментарии:
1. Примечание: второй параметр функции промежуточного программного обеспечения Express не является «результатом», это
Response
объект .
Ответ №1:
Я думаю, что вы переопределили (затенили) свою result
переменную в этом database.collection("users").findOne
обратном вызове:
function (error, result) {
if (user == null) {
result.json({
"status": "error",
"message": "User do not exist."
});
}
}
Простое использование другого имени переменной должно исправить это. например:
function (error, data) {
if (user == null) {
result.json({
"status": "error",
"message": "User do not exist."
});
}
}