【NodeJs】连接mongodb数据库成功之后报db.collection is not a function错误

在nodejs操作mongodb显示数据库连接成功之后突然报了db.collection is not a function错误

nodejs代码如下:

/**
    * Created by lenovoo on 2018/1/23.
    */
    var express = require("express");
    var MongoClient = require("mongodb").MongoClient;
 
    var app = express();
 
    app.get("/",function(req,res) {
        //连接数据库
        //假如数据库不存在,会自动创建一个数据库
    var url = "mongodb://localhost:27017/mongoTest";
    MongoClient.connect(url, function (err, db) {
        //db参数就是连接成功之后的数据库实体
        if (err) {
            console.log("数据库连接失败");
            return;
        }
        console.log("数据库连接成功");
        //2.x老版本写法
        var user = db.collection("user");
        user.insertOne({
            "username": "jmin",
            "age": 22,
            "sex": "男"
        }, function (err, result) {
            if (err) {
                res.send("插入数据失败");
                return;
            }
            db.close();
            res.end();
        });
    });
 
});
app.listen(3000);

而发生如下错误:

一开始我是以这种写法来向数据库插入一条数据,此时就报错了,来看看我的package.json中mongodb版本:

原因:npm自动下载了最新版本3.0的库,而3.0中的写法跟2.x写法已经不一样了,so..........

那么此时你只需要将package.json中mongodb版本变为

在本目录下更新npm install就不会报错了

猜你喜欢

转载自www.cnblogs.com/makai02323/p/10151181.html