javascript - 使用 AJAX 从 MongoDB 获取用户信息

标签 javascript mongodb authentication

我花了几个小时在 Stack Overflow 上浏览,但找不到太多可以帮助我解决问题的文章。对于 MongoDB 还是有点陌生​​。

基本上,我正在尝试运行我的网站的登录部分。我已经在 MongoDB 中有一个数据库,其中包含一个名为“accounts”的集合,其中有一个示例用户,如下所示:

> db.accounts.findOne()
{
    "_id" : ObjectId("5675e90bcb76f3710ff2d0d1"),
    "username" : "jose",
    "password" : "8943",
    "email" : "josectello@gmail.com",
    "__v" : 0
}

在我的登录页面上,我收集用户名和密码(假设用户已经注册),将它们存储在变量中,并使用以下代码检查用户是否存在。此代码基于另一个 Stack Overflow article 的答案.

var mongoose = require('mongoose');

$(function() {
  $('#login').on('click', function(e) {
    e.preventDefault();
    var username = $('#name').val();
    var password = $('#password').val();

    console.log("About to check for name and pw");
    mongoose.connect('mongodb://localhost/MyDataBase', function(err, db) {
    if(err) throw err;
    var collection = db.collection('accounts');

    // does user exist
    collection.findOne({username : username}, function(err, doc){
        if(err) throw err;
        if(doc)
            console.log("Found: " + username + ", pass=" + doc.password);
        else
            console.log("Not found: " + username);
        db.close();
    });
    });

  });
});

编辑:第一个console.log运行:“关于检查名称和密码”。 然后我收到错误“未定义所需”。我是否将服务器端 JS 与客户端混合在一起?我的 server.js 文件中也需要 mongoose...我可以执行 module.export 以便能够在当前文件中使用 mongoose 连接到数据库吗?

提前谢谢您!

最佳答案

使用getCollection

var collection = db.getCollection('accounts');

关于javascript - 使用 AJAX 从 MongoDB 获取用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376858/

相关文章:

MongoDB : Remove last two characters from String

authentication - 外部用户使用 LDAP 的优点和缺点

javascript - Materializecss - 带有 materialboxed(灯箱)的 slider ?

javascript - .on 或 .click 函数仅对同名表单元素有效一次

node.js - Mongoose - 将参数传递给预保存 - 在更新保存中不起作用

mongodb - 为 Bson.M mongodb 创建自定义 mashler/unmashler 时出错

javascript - Windows 8 Javascript 将 Canvas 设置为全屏

javascript - Angular JS 新手 - 不工作

html - Websocket 身份验证

authentication - 绕过 fusion auth 中的设置向导来创建应用程序