2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PrismaでmongoDBを扱う際の備忘録

Last updated at Posted at 2023-07-24

Prismaとは?

image.png
Prismaは、データベース接続ツール であり、データベースアクセスとスキーマ定義をシンプルにすることを目的としていて、TypeScriptやJavaScriptとシームレスに統合され、マルチデータベースサポートを提供している。クエリビルダーやデータモデル生成、マイグレーション機能などを備え、データセキュリティも重視している。Prismaを使うことで、安全で堅牢なデータベースアプリケーションを簡単に構築できる。

簡単にまとめると、DBを扱いやすくするツール

Prismaで悪戦苦闘

Next.jsでPrismaとmongodbを使おうと思ったとき、なかなか苦戦したので備忘録をここに残しておく。僕自身、まだまだ未熟者なのでかなり初歩的なことで躓いている。

何が起きたのか?

prismaで簡単にスキーマ(StringやIntやら型定義したやつ)を作成して、mongoDBにプッシュしようと思ったその時、、

The provided database string is invalid. An invalid argument was provided: Database must be
 defined in the connection string in database URL. Please refer to the documentation in 
https://www.prisma.io/docs/reference/database-reference/connection-urls for constructing a 
correct connection string. In some cases, certain characters must be escaped. Please check the 
string for any illegal characters.

何やらエラーが発生。色々調べた結果、.envファイルで使用していたmongoDBの接続URLが間違えていたのだ。具体的にどこが間違えていたのかを説明していく。

まず、mongoDB接続URLのフォーマットはこんな感じだ。

mongodb+srv://<username>:<password>@cluster0.--------.mongodb.net/<db-name>

僕はdb-nameをURL内に入れていなかったため、ずっと上記のエラーが出ていたのだ。さらに、db-nameすなわちデータベース名が永遠に分からずじまいでずっと苦戦していた。調べ上げた結果、db-nameは、デフォルトでtestだ。実際、それをdb-nameに入れてみたところ上手くいった。では下記にまとめる。

mongoDB接続URLのDB名のデフォルトはtest`だ。忘れずに入れよう。

終わりに

改めて、かなり簡単なことで苦戦していることが身に染みて分かった。しかし最初の頃はプログラミングの右左もわからなかった。その頃と比べたらよい進歩だ。これからもプログラミングに精進したい。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?