我無法將客戶端正確匯出db.js到User.js
資料庫.js
const some= MongoClient.connect(process.env.CONNECTIONSTRING).then((client) =>{
module.exports=client
const app = require("./app")
app.listen(process.env.PORT)
})
在這里使用客戶端,我可以執行諸如 client.db().collection("users"); 之類的方法。
但我無法使用 user.js
用戶.js
const usersCollection = require("../db").db().collection("users");
這給出了錯誤說 const
usersCollection = require("../db").db().collection("users");
^
TypeError: require(...).db is not a function
uj5u.com熱心網友回復:
我可能錯了,但在 MongoClient 的回呼函式中,第一個引數是錯誤,第二個引數是 client.(err,client)
所以你在錯誤而不是客戶端呼叫 db()
并嘗試從 Maxime 在評論中提到的全域范圍匯出
uj5u.com熱心網友回復:
您遇到此問題是因為您正在匯入異步的東西,并且當您在 1 行中執行此操作時,當您嘗試使用db().collection("users").
您可以通過將代碼更改為此來驗證異步是否是問題:
const temp = require("../db")
setTimeout(() => {
temp.db().collection("users")
}, 1000)
您還可以在此處查看如何正確連接到資料庫的示例https://www.terlici.com/2015/04/03/mongodb-node-express.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/417873.html
標籤:
