我在使用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()から変更
        });
    });
});

之前回调函数的参数是数据库,现在变成了客户端。

安然无恙地取得成功。

广告
将在 10 秒后关闭
bannerAds