【发布时间】:2019-10-24 12:46:11
【问题描述】:
我使用 Node.js 和 MongoDB 在我的 REST API 中有以下函数,我正在构建它来进行搜索:
exports.searchPhone = async (req, res, next) => {
try {
const phoneNumber = req.query.phone;
const locations = await Location.find({
phone: phoneNumber
});
res.json(locations);
} catch (err) {
next(err);
}
};
我的回复没有任何错误,但我也没有得到任何结果,尽管我传递了一个我知道数据库中存在的电话号码。
谁能看出我做错了什么?
【问题讨论】:
-
console.log(locations)是否正在打印???还要检查您的phoneNumber打印是否正确;y -
也可以尝试在你的catch中添加一个控制台
console.log(err) -
@Subburaj 非常感谢您的评论。我想我在这里看到了我的问题。我在 MongoDB 中的电话号码作为字符串值存储为“+123456789”,因此当我在请求中传递电话参数时,我也将其作为“+123456789”发送。但是,当我执行 console.log(phoneNumber) 时,我对控制台的输出是:123456789(即没有 + 号)。我该如何纠正这个问题?
-
@syedfa 你可以只连接字符串
phoneNumber = "+" + phoneNumber并在查询中传递它 -
@syedfa 你可以使用
trim函数来解决这个问题。使用可以如下使用phoneNumber = "+" + phoneNumber.trim()