我在使用Node.js来操作MongoDB时遇到了”db.collection is not a function”的问题
升级MongoDB驱动程序版本
据传言,MongoDB Node.js驱动程序在2017年12月升级到了3.0版本。
我之前以前的写法出现了 “db.collection is not a function” 的问题,被卡住了。
2.2版本
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/plactice";
MongoClient.connect(url, (err, db) => {
db.collection("test", (error, collection) => {
collection.insertMany([
{ name: 'Bob', age: 24 },
{ name: 'john', age: 30 }
], (error, result) => {
db.close();
});
});
});
3.0版本
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/plactice";
MongoClient.connect(url, (err, client) => { //dbからclientに変更
const db = client.db("plactice") // 追加
db.collection("test",(error, collection) => {
collection.insertMany([
{ name: 'Bob', age: 24 },
{ name: 'john', age: 30 }
],(error,result) => {
client.close(); //db.close()から変更
});
});
});
之前回调函数的参数是数据库,现在变成了客户端。
安然无恙地取得成功。