如何解决类型错误:conn.db 不是函数
当我尝试连接到我的 mongodb 数据库中的集合时出现此错误: 类型错误:conn.db 不是函数
PS:我使用的是 4.4.6 版
感谢您的帮助!
export default class OfferingDAO {
static async injectDB(conn){
if(offerings){
return;
}
try {
offerings = await conn.db(process.env.NS).collection("Offering");
}
catch(e){
console.error(`Unable to establish a collection handle in OfferingDAO: ${e}`);
}
}
这是我连接到mongodb的代码:
await mongoose.connect(process.env.URI,{
useNewUrlParser: true,useUnifiedTopology: true,useFindAndModify: false,useCreateIndex: true
})
.then(async (client) => {
await OfferingDAO.injectDB(client);
app.listen(port,() => {
console.log(`listening on port ${port}`)
})
})
解决方法
根据文档,客户端只是您的数据库实例:
// Using `mongoose.connect`...
var promise = mongoose.connect('mongodb://localhost/myapp',{
useMongoClient: true,/* other options */
});
promise.then(function(db) {
/* Use `db`,for instance `db.model()`
});
所以如果你的代码更新为:
offerings = await conn.collection("Offering");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。