我有这样的代码在节点:为什么nodejs没有连接mongo?
"use strict"
var MongoClient = require('mongodb').MongoClient;
var UserGateway = function(mongoURL) {
this.mongoURL = mongoURL;
}
UserGateway.prototype.connect = function() {
return new Promise((resolve, reject)=>{
MongoClient.connect(mongoURL, function(err, db) {
if(err) {
reject(err);
}
resolve(db);
});
});
}
UserGateway.prototype.getUsername = function(_userId) {
return new Promise((resolve, reject)=>{
connect().then((db) => {
let user = db.collection('user').findOne({"_id":_userId});
disconnect();
resolve(user);
});
});
}
UserGateway.prototype.disconnect = function() {
return new Promise((resolve, reject) => {
MongoClient.close(function(err, db) {
if(err) {
reject(err)
}
resolve(db)
})
})
}
module.exports = UserGateway;
和我一起执行:
var UserGateway = require("./src/userGateway.js")
var userGT = new UserGateway("mongodb://localhost:27017/UserSports")
userGT.getUsername(1).then(userName => {
console.log(userName)
})
任何人有一个想法,其中的错误是什么?我一直在js编程这么少。 我的想法是连接到mongo并获取用户名的用户名,并让getUsername管理连接和断开连接。
编辑>
我解决了它,它只是我在呼唤一个坏的方式来蒙戈的连接,我用: MongoClient.connect(mongoURL //任何相反MongoClient.connect的 (this.mongoURL // whatever
你能显示你得到的错误吗?编写问题的详细信息以更快获得帮助,并帮助其他人解决同样的问题,以便使用您的问题! –
执行代码没有收到错误,它只是不连接到mongo而什么都不做:( – Erinel