6 回答

TA貢獻(xiàn)1942條經(jīng)驗 獲得超3個贊
根據(jù)此鏈接中找到的文檔:https ://mongoosejs.com/docs/connections.html#buffering
Mongoose 讓您可以立即開始使用模型,而無需等待 mongoose 建立與 MongoDB 的連接。
這是因為 mongoose 在內(nèi)部緩沖模型函數(shù)調(diào)用。這種緩沖很方便,但也是造成混亂的常見原因。如果您在沒有連接的情況下使用模型,Mongoose 默認(rèn)情況下不會拋出任何錯誤。
長話短說:
在建立連接之前將調(diào)用您的模型。您需要將async/await與 connect() 或 createConnection() 一起使用;或使用.then(),因為這些函數(shù)現(xiàn)在從Mongoose 5返回 Promise 。

TA貢獻(xiàn)1871條經(jīng)驗 獲得超8個贊
通過刪除文件夾、文件并重新安裝模塊解決了model.find() error: Operation products.find() buffering timed out after 10000ms"
該問題。node_module
*.json
mongoose
按照此說明解決了警告問題https://mongoosejs.com/docs/deprecations.html

TA貢獻(xiàn)1906條經(jīng)驗 獲得超3個贊
嗯,我遇到了同樣的問題并且有非常相似的代碼。我在測試時發(fā)送 get 請求時遇到了同樣的錯誤。
最終,我找到了解決方案,即我的本地主機(jī)數(shù)據(jù)庫當(dāng)時沒有運(yùn)行。雖然這是一個愚蠢的錯誤,但我很難找到它。

TA貢獻(xiàn)1824條經(jīng)驗 獲得超6個贊
對我來說是 100% MongoDB Atlas 問題。我在圣保羅創(chuàng)建了一個集群,但由于某種原因未能按預(yù)期工作。我已將其刪除,并在 AWS/弗吉尼亞北部 (us-east-1) 創(chuàng)建一個新的,然后一切又開始工作。
我正在使用這個函數(shù)連接到數(shù)據(jù)庫并避免一些警告
mongoose.connect(
url,
{ useNewUrlParser: true, useUnifiedTopology: true },
function (err, res) {
try {
console.log('Connected to Database');
} catch (err) {
throw err;
}
});

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊
只需使用127.0.0.1而不是localhost
mongoose.connect('mongodb://127.0.0.1:27017/myapp');
或者在 mongoose.connect 方法中使用 family:4
mongoose.connect('mongodb://localhost:27017/TESTdb', {
family:4
})
.then(() => {
console.log('FINE');
})
.catch(() => {
console.log("BAD");
})

TA貢獻(xiàn)1818條經(jīng)驗 獲得超8個贊
出現(xiàn)此錯誤是因為您在創(chuàng)建與數(shù)據(jù)庫的連接之前嘗試訪問模型
始終在 app.js 中鏈接您的 mongodbconnection 文件(如果您已創(chuàng)建)
var mongoose = require('./mongoconnection');
或者只是將 mongodb 連接代碼保留在 app.js 中
添加回答
舉報