跳至主要內容

文章

顯示從 10月, 2022 起發佈的文章

MongoDB Atlas 如何用 mongoose 選擇 database?

建立 Node.js Express 應用程式時,可以使用 mongoose 輕鬆與 MongoDB 建立連線,如果是使用雲端版的 Atlas,選擇 database 的時候,就要設定其 uri。 問題 登入 mongodb atlas 後,要建立連線時,需要複製一個 uri像是: mongodb+srv://username:<password>@cluster0.xxxxxxx.mongodb.net/?retryWrites=true&w=majority 如果用上面這個連線,同時 mongodb 有許多 databases,你的應用程式可能抓不到你要的資料。 解決 在 .net 的後面加上 /databaseName 即可。 mongodb+srv://username:<password>@cluster0.xxxxxxx.mongodb.net/databaseName?retryWrites=true&w=majority

mongodb ObjectId is not defined 問題所在

 所用mongodb 搜尋、更新、刪除資料,要用到 ObjectId,像是 collections.findOne({ _id: ObjectId("5eb3d668b31de5d588f4292a") } ); 這邊,要記得導入 mongo db  import mongodb from "mongodb"; 然後,用 mongodb.ObjectId 即可。 或是用 nodejs 內建的 bson 模組 import { ObjectId } from "bson";

如何在 windows 10 設定 nodejs NODE_ENV 變數

製作 nodejs 專案,有時候在開發環境下要使用,佈署環境用不到的模組,這時候就要設定環境變數。 程序 在 package.json 的 scitpt 中,設定一個指令像是  "start": "SET NODE_ENV=production& nodemon app" 然後執行 npm start 即可 解釋 在 windows 的 command promt 直接輸入 SET NODE_ENV=production 完全沒用,即使使用 SETX NODE_ENV=production 也沒用。不然的話,每次關掉 cmd 後都要重新設定環境參數。 要同時設定環境變數並啟動 nodejs 才可以。 更正 上面講得的是,用PowerShell產生的問題,用 cmd 沒問題。 如果用 PowerShell,語法是 $env:a=123。 另外一件事就是,如果用 set 或是 $env: 這兩個都是 local 的,也就是關掉 terminal 後變數會清除。 用 PowerShell 查詢環境參數 gci env:

nodemon 無法使用解決 cannot be loaded because running scripts is disabled on this system

 我用 Windows 電腦製作 node 程式,在使用 nodemon 時出現以下錯誤。 cannot be loaded because  running scripts is disabled on this system 檢查 ExecutionPolicy 首先我們需要先解查 ExecutionPolicy。 打開 command prompt,然後輸入 Start-Process powershell -Verb runAs,也就是以管理員身分使用 PowerShell。 然後在 PowerShell 中輸入 Get-ExecutionPolicy。 如果出現 Restricted,表示不能跑 nodemon。 修正 ExecutionPolicy 在 PowerShell 中輸入 Set-ExecutionPolicy Unrestricted,然後輸入 y 回答是的,即可使用 nodemon。