nodejs+mongodb写的一个简单的登录注册

自己自学Nodejs 中   随便写着玩的  没学到数据集过滤 就自己想了个笨办法

还不完善 自己练手了

----------------------------------------------------------------------以下是服务器代码   server.js---------------------------------------------------------------------------

var express = require('express');
var app = express();
var MongoClient = require('mongodb').MongoClient;


app.get('/', function(req, res){
    res.type('.html')
    res.sendFile(__dirname + "/" + "index.html")
})


/*注册功能*/
app.get('/process_get', function(req, res){
    res.type('.html')
    respose={
        name:req.query.name,
        password:req.query.password
    }
/**/
    function addUser(collection, db){
        collection.insert(db, function(err, results){
            if(!err){
                console.log(results)
            }
        })
    }
    MongoClient.connect("mongodb://dbadmin:li19941217@localhost:27017/admin", function(err, db){
        var myDB = db.db("users");
        myDB.collection("userCollection", function(err, ncoll){
             //ncoll.remove({user_name:"ceshi"}, function(err, results){}    )
        ncoll.find({user_name:respose.name}, function(err, items){
            items.toArray(function(err, item){
                console.log(item.length) //通过查询出的数组长度去判断
                if(item.length < 1){
                    addUser(ncoll, { user_name:respose.name, user_padd:respose.password})
                    res.end("您已注册成功!")
                } else{
                    res.end("对不起,用户名重复,你再想想呗~")
                    
                }
                
            })
        })
        })
    })

})
/*注册功能*/
/*登录功能*/
app.get('/user_get', function(req, res){

    respose = {
        name:req.query.name,
        password:req.query.password
    }
    // console.log(respose.name)
    MongoClient.connect("mongodb://dbadmin:li19941217@localhost:27017/admin", function(err, db){   //这里要输入你的数据库管理账户密码

   var myDB = db.db("users");
        myDB.collection("userCollection", function(err, ncoll){
            ncoll.find(function(err, items){
                items.toArray(function(err, item){
                    //console.log("biao" + JSON.stringify(item))

                })
            })
            // console.log(respose.name)
            ncoll.find({user_name:respose.name}, function(err, items){
                if(err){
                    console.log(err)
                }
                items.toArray(function(err, item){
                    console.log(item[0].user_padd)
                    if(respose.password == item[0].user_padd){
                        console.log("password" +respose.password == item[0].user_padd)
                        res.type('.html');
                        res.end("欢迎您" + respose.name)
                    }
                    else {
                        res.type(".html");
                        res.end("对不起,您输入的密码不正确")
                    }
                })
            })
        })
    })
})
/*登录功能结束*/


app.listen(3001)

----------------------------------------------------------------------以上是服务器代码   server.js---------------------------------------------------------------------------

----------------------------------------------------------------------以下是html代码 index.html-----------------------------------------------------------------------------






    
    zhuce


    


        您的昵称:
        


        您的密码
        


        
    

    


    

        您的昵称:
        


        您的密码
        


        
    



----------------------------------------------------------------------以下是遇到的坑 ---------------------------------------------------------------------------


1、mongoose登录的话  需要你的数据库管理员账户密码

2、res.type('.html) 最好提前 不然会因为异步的问题 造成先输出send 后设置header的问题

3、toArray() 方法可以变成数组 方便JSON处理  而 each()方法你自己试试- -

4、以后遇到了再补充吧




-----------------------------------------------------------我还比较菜  不对的地方轻喷   还有我写这个的时候没有学到数据集的过滤  -------------------------------------------------------------------------

我写这个的时候没有学到数据集的过滤!

我写这个的时候没有学到数据集的过滤!

我写这个的时候没有学到数据集的过滤!


自己也比较菜   - -  就当是学习笔记 



你可能感兴趣的:(nodejs)