[英]node populatedb url not working
我正在從https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose學習 ExpressJs 教程
現在我已經為 mongodb 數據庫創建了模塊,然后在根目錄中創建了一個文件填充 b.js。 現在我正在嘗試使用命令連接到數據庫(最后在上面的鏈接中描述)
node populatedb mongodb://dbuser:dbpassword@ds133814.mlab.com:33814/local_library_tutorial
但終端沒有響應,數據庫中也沒有發生
我的兄弟。
我遇到了同樣的問題,當我的搜索將我引向您的問題時,當我沒有看到答案時,我更加難過,但是在四處尋找之后,我找到了答案!
確保將“dbuser:dbpassword”占位符替換為實際數據,例如 mongo url 上的“Elias:js44889”。
還要確保它也與 app.js 中的相同。
我認為一切都應該很好,就像對我一樣。
您必須在populatedb.js 中包含腳本才能完成工作。
populatedb.js 腳本鏈接: https : //raw.githubusercontent.com/hamishwillee/express-locallibrary-tutorial/master/populatedb.js
從上面的鏈接將腳本插入到populatedb.js 文件中后,然后運行以下命令在mongoDB 中填充數據。
npm install async
(如果沒有安裝 async 模塊)
node populatedb <your mongodb url>
有時,如果您在所有模型中使用相同的集合名稱,可能會出現錯誤,這發生在我身上,直到我意識到我所做的是錯誤的。
例如不要這樣做
const authorModel = mongoose.model('author', AuthorSchema)
const bookModel = mongoose.model('author', BookSchema)
如果你意外地這樣做,它會拋出這個錯誤OverwriteModelError: Cannot overwrite author model once compiled.
而是在“Windows 用戶”的命令行中寫入
node populatedb mongodb+srv://username:password@yourcluster.mongodb.net/yourdatabase
並在您的模型中確保集合不同
const authorModel = mongoose.model('author', AuthorSchema)
const bookModel = mongoose.model('book', BookSchema)
我在做同樣的教程時也遇到了同樣的問題。 我為解決此問題所做的工作是轉到他們在“測試 - 創建一些項目”的第一步中提供的 poppedb.js 鏈接,或者您可以下載它。 單擊鏈接后,他們會提供測試數據,您可以將這些數據粘貼到您在項目根目錄中創建的 poppedb.js 文件中,然后:
npm install async --save
node populatedb <your mongodb url>
遵循 MDN 教程,這是我修復的內容:
用戶名:傑夫; 密碼:12345
app.js,改為:
var mongoDB = 'mongodb://Jeff:123@ds149732.mlab.com:49732/local_library';
命令行提示符,更改為:
node populatedb mongodb://Jeff:12345@ds149732.mlab.com:49732/local_library
在這里發帖是因為這個答案是我在谷歌上搜索問題的結果。
有同樣的問題,錯誤最終是我在數據庫上為管理員設置的密碼 - 特殊字符被編碼(有一個警告顯示,我顯然忽略了)導致我無法連接。
我遇到這個問題幾天了
zsh: no matches found: <my mongodb url>
首先,我仔細檢查了我是否遵循了測試中的說明——在教程中創建了一些項目。 然后我在終端中更改了我原來的 mongodb URL,刪除了結尾。
我原來的 mongoURL =
mongodb+srv://username:password@cluster0.9f24o.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
我的新 mongoURL =
mongodb+srv://username:password@cluster0.9f24o.mongodb.net/myFirstDatabase
我在 express-locallibrary 教程文件夾中運行了這個腳本。
node populatedb mongodb+srv://username:password@cluster0.9f24o.mongodb.net/myFirstDatabase
我現在不確定這是否意味着我還需要更改 app.js 中的鏈接。
希望這可以節省一些時間!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.