Javascript 通过Promise将节点js连接到Mongo Atlas
嘿,伙计们,我是异步编程新手,所以我研究得很好,实现了一点,但到目前为止,我面临一个问题,为了将我的Mongo Atlas连接到Node js,我发现了一个代码,该代码编写为 App.jsJavascript 通过Promise将节点js连接到Mongo Atlas,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,嘿,伙计们,我是异步编程新手,所以我研究得很好,实现了一点,但到目前为止,我面临一个问题,为了将我的Mongo Atlas连接到Node js,我发现了一个代码,该代码编写为 App.js const mongoconnect=require('./utils/database') mongoconnect((client)=>{ console.log(client) app.listen(3000) }) const mongoconnect=require('./utils/dat
const mongoconnect=require('./utils/database')
mongoconnect((client)=>{
console.log(client)
app.listen(3000)
})
const mongoconnect=require('./utils/database')
mongoconnect.then(results=>{
console.log(results)
app.listen(3000)
}).catch(err=>console.log(err))
utils/database.js
const mongodb=require('mongodb');
const Mongoclient=mongodb.MongoClient
const mongoconnect=(callback)=>{
Mongoclient.connect('mongodb+srv://ratnabh2615:ratnabh2614@cluster0-
altfm.mongodb.net/test?retryWrites=true&w=majority')
.then(client=>{
console.log('Connected')
callback(client)
})
.catch(err=>console.log(err))
}
module.exports=mongoconnect
const mongodb=require('mongodb');
const Mongoclient=mongodb.MongoClient
const mongoconnect=()=>{
return new Promise((resolve,reject)=>{
const url='mongodb+srv://ratnabh2615:ratnabh2614@cluster0-
altfm.mongodb.net/test?retryWrites=true&w=majority';
Mongoclient.connect(url).then(client=>{
console.log('Connected')
return resolve(client)
}).catch(err=>console.log(err))
})
}
module.exports=mongoconnect
因此,正如您在utils/database.js中看到的,我们正在使用回调函数
但我想在这里使用“唯一的承诺”,所以我试图实现自己,但失败了,因为我没有那么多的经验。你能解决这个问题吗
我做了这样的事情,不知道有多大的错误
utils/database.js
const mongodb=require('mongodb');
const Mongoclient=mongodb.MongoClient
const mongoconnect=(callback)=>{
Mongoclient.connect('mongodb+srv://ratnabh2615:ratnabh2614@cluster0-
altfm.mongodb.net/test?retryWrites=true&w=majority')
.then(client=>{
console.log('Connected')
callback(client)
})
.catch(err=>console.log(err))
}
module.exports=mongoconnect
const mongodb=require('mongodb');
const Mongoclient=mongodb.MongoClient
const mongoconnect=()=>{
return new Promise((resolve,reject)=>{
const url='mongodb+srv://ratnabh2615:ratnabh2614@cluster0-
altfm.mongodb.net/test?retryWrites=true&w=majority';
Mongoclient.connect(url).then(client=>{
console.log('Connected')
return resolve(client)
}).catch(err=>console.log(err))
})
}
module.exports=mongoconnect
App.js
const mongoconnect=require('./utils/database')
mongoconnect((client)=>{
console.log(client)
app.listen(3000)
})
const mongoconnect=require('./utils/database')
mongoconnect.then(results=>{
console.log(results)
app.listen(3000)
}).catch(err=>console.log(err))
但是我收到了错误
mongoconnect.then(results=>{
^
TypeError: mongoconnect.then is not a function
只需像函数一样调用它:
const mongoconnect=require('./utils/database');
mongoconnect().then(results=>{
console.log(results);
}).catch(err=>console.log(err));