【发布时间】:2021-07-23 14:19:44
【问题描述】:
我刚开始在没有 mongoose 的情况下使用 Mongodb(以摆脱模式),并想创建一个具有各种导出函数的简单模块,以在我的应用程序的其余部分中使用。我已经粘贴了下面的代码。
我遇到的问题是 databasesList.databases 以未定义的形式返回,我不知道为什么。我的集群上应该有 2 个数据库,每个数据库中有一个集合。
作为一个切题的问题,我想也许我会改为检查集合(现在已注释掉),但虽然我找到了这个页面 (https://docs.mongodb.com/manual/reference/method/db.getCollectionNames/),但函数 getCollectionNames 似乎不存在。现在我想知道我是否使用了错误的文档,这就是我的数据库返回未定义的原因。
const client = new MongoClient(uri)
const connection = client.connect( function (err, database) {
if (err) throw err;
else if (!database) console.log('Unknown error connecting to database');
else {
console.log('Connected to MongoDB database server');
}
});
module.exports = {
getDatabaseList: function() {
console.log('start ' + client);
databasesList = client.db().admin().listDatabases();
//collectionList = client.db().getCollectionNames();
//console.log("Collections: " + collectionList);
console.log("Databases: " + databasesList.databases);
//databasesList.databases.forEach(db => console.log(` - ${db.name}`));
}
}```
【问题讨论】:
-
您需要参考MongoDB NodeJS Driver API 以获得适当的方法。有时驱动版本有不同的名称。
-
谢谢!我确实找错地方了
标签: node.js mongodb node-mongodb-native