【发布时间】:2022-01-11 15:37:43
【问题描述】:
我正在尝试将我的 Nodejs 应用程序连接到 Mongodb Atlas 数据库(我尝试使用本地数据库 uri,但它也失败了)。 我看到的问题在于我用于查询数据库的对象。
这是我尝试过的代码
database.js
const {MongoClient} = require('mongodb');
const uri = 'mongodb+srv://myname:pass@myClustername.1unxr.mongodb.net/myDbname?retryWrites=true&w=majority';
// all fields in uri were correctly placed.
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
client.connect(err => {
//const collection = client.db("test").collection("devices");
// perform actions on the collection object
module.exports = client;
//client.close();
});
然后在users.js
var client = require('../database');
client.db('mydbname').collection('collname').findOne({"Name": "loop"})._id;
// and other queries etc
在浏览器中,它说
Client.db 不是函数
还有
拓扑已关闭
我尝试了许多其他的方法和组合,它们不太像
module.exports = {
connectToServer: function( callback ) {
MongoClient.connect( uri, { useNewUrlParser: true }, function( err, client ) {
_db = client.db('mydbname');
return callback( err );
} );
},
getDb: function() {
return _db;
}
};
提前致谢
【问题讨论】:
-
您是否尝试过在
var client = require('../database');之后记录/检查client的内容?
标签: node.js mongodb node-modules