javascript - 类型错误 : Cannot read property 'db' of undefined

标签 javascript node.js mongodb

My code 我完全按照视频中的操作,但每次出现此问题时,请帮忙! 这是视频的链接:https://www.youtube.com/watch?v=ipkLgbtS0LU&list=PLsY8aWop1tAH2mtv7jSTt6zr5Sfpu1WrM&index=3

var express = require('express');
var bodyParser = require('body-parser')

var app = express();

app.use('/static', express.static(__dirname + '/static'));
app.set('view engine', 'ejs');

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json())

var MongoClient = require("mongodb").MongoClient
MongoClient.connect("mongodb://localhost:27017", {useNewUrlParser: true, useUnifiedTopology: true}, function(error, client){
    var blog = client.db("blog");
    console.log("DB connected");

    app.get('/', function(req, res){
        res.send("Hello world")
    });

    app.get("/admin/dashboard", function(req, res) {
        res.render("admin/dashboard");
    });

    app.get("/admin/posts", function(req, res) {
        res.render("admin/posts");
    });

    app.post("/do-post", function(req, res){
        blog.collection("posts").insertOne(req.body, function(error, document){
            res.send("Posted Successfully!")
        });
    });

    app.listen(3000, function() {
        console.log("Server Connected");
    })
}) ```

最佳答案

试试这个:

var blog = client.collection("blog");
console.log("DB connected");

client.db不存在

事实上,您的“客户端”是您的数据库,因此您应该将其重命名为 db,如下所示:

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/animals', function(err, db) {
  if (err) {
    throw err;
  }
  db.collection('mammals').find().toArray(function(err, result) {
    if (err) {
      throw err;
    }
    console.log(result);
  });
});

来源:https://expressjs.com/en/guide/database-integration.html#mongodb

关于javascript - 类型错误 : Cannot read property 'db' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61248652/

相关文章:

javascript - OnChange 和 Click 同时进行

javascript - 如何将 PhantomJS 作为服务器运行并远程调用它?

javascript - 生成函数或异步生成函数后清理

node.js - npm 安装错误(代码 EBADPLATFORM)

node.js - 无法从应用程序容器连接到 postgres DB docker 容器

ruby - 没有填充 MongoDB/Mongoid 和 Rails 3 的 DateTime

javascript - 我们可以在任何地方使用 `const` 而不是 `let` 吗?

javascript - 如何使用nodejs驱动程序获取mongodb中的当前操作

node.js - Mongoose:按日期运行计划作业查询

javascript - 图片上传到Heroku App