MongoDB. URLに関するエラーについて

前提・実現したいこと

下記のエラーですが、内容を見ると、MongoDB URLが間違っているというエラーのようです。
しかし、mongodb+srv://から始めるURLをセットしています。

そこで、なぜこのエラーが出るのかわからず質問いたしました。恐れ入りますがよろしくお願い致します

発生している問題・エラーメッセージ

DB接続中 ローカルサーバー接続中 /Users/username/Udemy/foldername/notion-clone/server/node_modules/mongodb-connection-string-url/lib/index.js:86 throw new MongoParseError('Invalid scheme, expected connection string to start with "mongodb://" or "mongodb+srv://"'); ^ MongoParseError: Invalid scheme, expected connection string to start with "mongodb://" or "mongodb+srv://" at new ConnectionString (/Users/username/Udemy/folder_name/notion-clone/server/node_modules/mongodb-connection-string-url/lib/index.js:86:19) at parseOptions (/Users/username/Udemy/folder_name/notion-clone/server/node_modules/mongodb/lib/connection_string.js:204:17) at new MongoClient (/Users/username/Udemy/folder_name/notion-clone/server/node_modules/mongodb/lib/mongo_client.js:46:63) at _createMongoClient (/Users/username/Udemy/folder_name/notion-clone/server/node_modules/mongoose/lib/connection.js:851:14) at NativeConnection.openUri (/Users/username/Udemy/folder_name/notion-clone/server/node_modules/mongoose/lib/connection.js:705:29) at Mongoose.connect (/Users/username/Udemy/folder_name/notion-clone/server/node_modules/mongoose/lib/index.js:406:15) at Object.<anonymous> (/Users/username/Udemy/folder_name/notion-clone/server/index.js:17:13) at Module._compile (node:internal/modules/cjs/loader:1103:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) at Module.load (node:internal/modules/cjs/loader:981:32)

試したこと

エラー調査: chatgptや検索エンジンで検索、調査。

自身のURLのカクニン

該当のソースコード

index.js

1const express = require('express'); 2const mongoose = require("mongoose"); 3const app = express(); 4const User = require("../server/src/v1/models/user"); 5const JWT = require("jsonwebtoken"); 6const CryptoJS = require("crypto-js"); 7const PORT = 4000; 8// Process.envを呼び出せることができる。 9require("dotenv").config(); 10// app.get("/", (req,res) => { 11// res.send("Hello Express"); 12// }); 13 14app.use(express.json()); 15// DB接続 16try { 17 mongoose.connect(process.env.MONGODB_URL); 18 console.log('DB接続中'); 19 } catch(error) { 20 console.log(error); 21 } 22 23// User新規登録API 24app.post("/register", async(req,res) => { 25 //PWの受け取り 26 const password = req.body.password; 27 28 try { 29 // PW暗号化→保護できる 30 req.body.password = CryptoJS.AES.encrypt(password, process.env.SECRET_KEY); 31 // ユーザの新規作成 32 const user = await User.create(req.body); 33 // JWTトークン発行 34 const token = JWT.sign({id: user._id}, process.env.TOKEN_SECRET_KEY, { 35 expiresIn: "24h", 36 }); 37 return res.status(200).json({ user, token}); 38 } catch { 39 return res.status(500).json(err); 40 } 41}); 42// ユーザ登録ログインAPI 43 44app.listen(PORT, () => { 45 console.log('ローカルサーバー接続中'); 46}); 47

.ENV

MONGODB_URL = "mongodb+srv://username:<password>@cluster0.qt9eowc.mongodb.net/retryWrites=true&w=majority"; SECRET_KEY = "??????" TOKEN_SECRET_KEY = "username"

補足情報(FW/ツールのバージョンなど)

サーバ node.js
フロント React.js

コメントを投稿

0 コメント