关于 express 中使用 mongodb 第二次失败问题十分感谢

-问题描述
最近在学习使用express和mongodb;做了demo例子,发现个问题,就是每次从页面上发送请求往表里添加数据时,第一次正常,第二次就报错了?
-对应代码
express版本4.16.4
mongodb版本3.1.10
//express
constexpress=require('express')
constbodyParser=require('body-parser')
constapp=express()
//mongodb
consturlDB='mongodb://localhost:27017'
constMongoClient=require('mongodb').MongoClient
constClient=newMongoClient(urlDB,{useNewUrlParser:true})
//mongodbfunction
constinsertDoc=function(db,collectionName,data,callback){
constcollection=db.collection(collectionName)
collection.insertOne(data,(err,res)=>{
callback&&callback(err,res)
})
}
app.use(bodyParser.urlencoded({extended:true}))
//使用虚拟目录的静态服务
app.use('/static',express.static('public'))
//路由
app.get('/',(req,res)=>{
res.sendFile(__dirname+'/index.html')
})
//应用
app.post('/insert',(req,res)=>{
//mongodb
Client.connect((err)=>{
constdb_=Client.db('user')
console.log('-连接成功-',err);
insertDoc(db_,'user',req.body,(errDB,resDB)=>{
if(errDB){
console.log('-插入失败-',errDB);
res.send({succ:false})
}else{
resDB.result.ok&&res.send({succ:true})
Client.close()
}
})
})
})
//端口号
app.listen(3000)
-错误代码
theoptions[servers]isnotsupported
theoptions[caseTranslate]isnotsupported
-连接成功-null
-插入失败-{MongoError:serverinstancepoolwasdestroyed
atbasicWriteValidations(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb-core@3.1.9@mongodb-core/lib/topologies/server.js:700:41)
atServer.insert(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb-core@3.1.9@mongodb-core/lib/topologies/server.js:805:16)
atServer.insert(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb@3.1.10@mongodb/lib/topologies/topology_base.js:321:25)
atinsertDocuments(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb@3.1.10@mongodb/lib/operations/collection_ops.js:838:19)
atinsertOne(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb@3.1.10@mongodb/lib/operations/collection_ops.js:868:3)
atexecuteOperation(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb@3.1.10@mongodb/lib/utils.js:420:24)
atCollection.insertOne(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb@3.1.10@mongodb/lib/collection.js:464:10)
atinsertDoc(/Users/chisecj/Documents/project/study/test_node/09_express/app.js:12:14)
atClient.connect(/Users/chisecj/Documents/project/study/test_node/09_express/app.js:30:5)
atresult(/Users/chisecj/Documents/project/study/test_node/09_express/node_modules/_mongodb@3.1.10@mongodb/lib/utils.js:414:17)name:'MongoError',[Symbol(mongoErrorContextSymbol)]:{}}
qq_笑_17
浏览 750回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript