首页 > 解决方案 > 带有承诺的 Node.js mongodb

问题描述

我正在 node.js 中制作一个小游戏,作为数据库,我将 mongodb 与 mongojs 一起使用。目前这是我处理数据库连接的方式:

var mongojs = USE_DB ? require("mongojs") : null;
var db = USE_DB ? mongojs('localhost:27017/dbName', ['players','pets']) : null;

例如,如果我想检查用户名是否在注册时被使用,我会:

Database.usernameCheck= function(name,callback){
    db.account.findOne({username:name.username},function(err,result){
        if(result) callback(true);
        else callback(false);
    });
}

然后我在注册新玩家时调用该函数:

    Database.usernameCheck(data,function(result){
        if(result){
            //username taken        
        } else {
            //add the user
        }
    }); 

我对 node.js 和 javascript 编程没有太多经验,但我读到最好的方法是使用 Promise,所以我想将我当前的代码转换为使用 Promise 而不是回调。尝试了几种方法,但我失败了,所以我决定在这里问,好吧,谢谢你的时间。

标签: javascriptnode.jsmongojs

解决方案


推荐阅读