在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就不会报错了