Javascript 使用AJAX从MongoDB获取用户信息

Javascript 使用AJAX从MongoDB获取用户信息,javascript,mongodb,authentication,login,Javascript,Mongodb,Authentication,Login,我花了几个小时研究堆栈溢出问题,但我找不到太多帮助我解决问题的文章。对MongoDB来说还是有点陌生 基本上,我试图让我的网站登录部分运行。我在MongoDB中已经有一个数据库,其中包含一个名为“accounts”的集合,其中一个示例用户如下所示: > db.accounts.findOne() { "_id" : ObjectId("5675e90bcb76f3710ff2d0d1"), "username" : "jose", "password" : "894

我花了几个小时研究堆栈溢出问题,但我找不到太多帮助我解决问题的文章。对MongoDB来说还是有点陌生

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

> db.accounts.findOne()
{
    "_id" : ObjectId("5675e90bcb76f3710ff2d0d1"),
    "username" : "jose",
    "password" : "8943",
    "email" : "josectello@gmail.com",
    "__v" : 0
}
在我的登录页面上,我收集用户名和密码(假设用户已经注册),将它们存储在变量中,并使用以下代码检查用户是否存在。此代码基于另一个的答案

编辑:第一个console.log运行:“即将检查名称和pw”。 然后我得到一个错误,“required未定义”。我是在混合服务器端JS和客户端JS吗?我的server.js文件中也需要mongoose…我可以执行module.export来使用当前文件中的mongoose连接到数据库吗

提前谢谢你

使用getCollection


var collection=db.getCollection(“账户”)

如果您试图在浏览器中使用
require('mongoose')
,则应使用<代码>要求规范在CommonJS中指定。node.js和Browserify实现了这一点

看看这个:

当你说它不起作用时——什么东西不起作用?它总是带着
未找到:{username}
返回吗?您是否验证了查询是否发送了正确的用户名?您是否尝试过使用您的应用程序用来验证mongodb是否确实存在的同一查询在该应用程序之外查询mongodb?我没有想过通过终端使用该查询。我来试一试,查询有效。现在我不知道如何在不出现错误“require is not defined”的情况下要求mongoose。我试过了。在mongo shell中工作,但通过javascript它既不会抛出错误也不会抛出成功。
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();
    });
    });

  });
});