gpt4 book ai didi

node.js - ExpressJS 中的 db.listCollections() 返回错误

转载 作者:可可西里 更新时间:2023-11-01 09:24:01 27 4
gpt4 key购买 nike

我正在使用 ExpressJs + MongoDB 并且以下代码返回错误:

var db = monk(DB_URL);
app.use(function (req, res, next) {
req.db = db;
next();
});

app.get("/view_collections", function (req, res) {
var db = req.db;
db.listCollections().toArray(function (err, collections) {
console.log(collections);
});
});

错误是:

TypeError: db.listCollections is not a function.

其他功能完美运行。例如,以下代码有效:

app.get('/testCollection', function (req, res) {
var collection = req.db.get('testData');
collection.find({}, {
limit: 300,
sort: {
timestamp: -1
}
}, (e, entries) => {
res.render('testView', {
entries: entries
});
});
});

我尝试了 db.getCollectionNames()db.listCollections() 但都返回相同的错误,但在 shell db.getCollectionNames() 有效。

谁能告诉我如何获取里面的 MonogoDB 集合列表,

app.get("/view_collections", function (req, res) {
//Here
});

最佳答案

我遇到了同样的错误,解决办法是:

MongoClient.connect(url, function(err, client) {


const db = client.db(DBNAME)

db.listCollections().toArray(function(err, items) {
console.log(items)
//and u can loop over items to fetch the names
client.close();
});
})

关于node.js - ExpressJS 中的 db.listCollections() 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717214/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com