Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Promise将节点js连接到Mongo Atlas_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript 通过Promise将节点js连接到Mongo Atlas

Javascript 通过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

嘿,伙计们,我是异步编程新手,所以我研究得很好,实现了一点,但到目前为止,我面临一个问题,为了将我的Mongo Atlas连接到Node js,我发现了一个代码,该代码编写为

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))
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));