我正在尝试使用Node.js express和MongoDB来制作简单的Restful API。我正在将Node.js-MongoDB驱动程序与Express框架一起使用
const MongoClient = require("mongodb").MongoClient
const url = "mongodb://localhost:27017/"
const dbName = "PractiseDB"
const client = new MongoClient(url, {useNewUrlParser:true})
const port = process.env.PORT || 8000
const express = require('express');
const app = express()
app.get('/', (req, res) => {
client.connect((err) => {
if (err) throw err
const collRef = client.db(dbName).collection('newCollection')
console.log("Connected ... ")
collRef.find({}).toArray((err, result) => {
res.set('Content-Type', 'text/json')
res.send(result)
client.close(() => {
console.log("DB Close...")
})
})
})
})
app.listen(port, () => {
console.log(`App running on port ${port}`)
})
当我运行上面的代码片段时,在第一个响应上我得到了JSON数据,但是在第一个响应后我在控制台上得到了这个数据,
不支持选项[服务器],选项[caseTranslate]是 不支持
我缺少什么,或者还有其他方式可以提供JSON吗?
答案 0 :(得分:0)
您在第一个请求后关闭mongo客户端。 这就是您得到错误的原因。
解决。 选项1: 您可以在“ /”路由内移动创建新mongo客户端的代码。
选项2: 不要关闭路由“ /”内的mongo客户。保持mongo客户端连接处于活动状态,直到关闭服务器为止。