javascript - 尽管一切都正确,mongoDB 方法仍返回 undefined
问题描述
案例描述: 我正在 node.js(使用 Express)、socket.io 和 mongoDB 上构建一个全栈聊天应用程序。一切正常,直到用户将已在另一个帐户中使用的注册数据放入其中。我创建了两个函数:首先检查用户名(如查询一个)是否已经存在,第二个检查电子邮件地址。(与 db 连接的所有函数都使用回调来确保正确的异步工作,我也尝试创建局部变量并为其分配一个值(t/f)并返回它,仍然是“未定义”)。
usernameExists = function(username){
var query = {
username: username
}
mongodb.connect(dburl, {useNewUrlParser: true, useUnifiedTopology: true}, function(err, db){
var chat = db.db('chat');
chat.collection('users').countDocuments(query, function(err, number){
if (number > 0){
return true;
} else {
return false;
}
});
});
}
电子邮件一:
emailExists = function(email){
var query = {
email: email
}
mongodb.connect(dburl, {useNewUrlParser: true, useUnifiedTopology: true}, function(err, db){
var chat = db.db('chat');
chat.collection('users').countDocuments(query, function(err, number){
if (number > 0){
return true;
} else {
return false;
}
});
});
}
问题描述: 当用户在前端将数据放入表单时,即使在数据库中创建完全相同的文档。我已尝试记录此方法的数字和结果:数字似乎很好(> 0),但结果是“未定义”。 提前感谢您的帮助!
解决方案
推荐阅读
- python - 如何将字符串转换为列表
- r - 重构数据集
- wordpress - WordPress 媒体预览:PDF 的预览显示为黑色
- database-design - GraphQL,如何处理连接到数百个表
- android - Android AlertDialog 不使用单选按钮关闭
- apache-kafka - 可以在生产中不进行复制就运行 kafka 代理吗
- python - 使用 pyarrow 在工作人员之间共享对象
- javascript - Google表格脚本中的范围高度错误不正确
- sql - 列出具有空状态字段的单个发票
- excel - 与在 Internet Explorer 中打开的 PDF 交互的 VBA 代码?(没有发送键)