day08
データベース#データベース#
複数の人が共有して使用することを目的としたシステム化された統合、管理されたデータの集合.これは、通常、DBMS(データベース管理システム)によって制御される.接続されたアプリケーションとともに、データとDBMSを一緒に置くことをデータベースシステムと呼びます.
リレーショナル・データベースとドキュメント・データベース?
代表的な関係型はMySQL、文書型はMongoDBです.二人はまず用語から違います.
データベースを格納するデータを作成する方法で区分し、リレーショナル型はリレーショナルを重視し、重複データを回避するために複数のテーブルに分けて格納します.IDはIDであり、EMAILはEMAILのみを格納する.逆に、ドキュメント型では、異なる構造のデータを同じセットに追加できます.それぞれメリットとデメリットがあり、状況に応じて使用します.
もちろん、文法も違います。
+今回はMongoDBを使います.
MongoDB/MongoDB Compass
MongoDBは、ドキュメントストレージ向けのNoSQLデータベースシステムです.NoSQLは、SQLではなく他のデータベース・システムを意味します.(または非関係型sqlを表す.)
mongodyはデータをdocumentと呼び,これらのデータの集合をcollectionと呼ぶ.パターン制約はなく、各ドキュメントはBSON形式で格納されます.したがって、JavaScriptベースのnodejsと互換性があります.mysqlも使えます.
特長
Docker-Compose
また、アプリケーションを定義して複数のコンテナを実行するツールでもあります。yamlファイルを複数のドッキングステーションの内部プロパティに設定し、ドッキングステーションを一度にデプロイとして実行するように実行できます。
docker-compose.yaml(yml)ファイルにフォーマットで記述します.どのファイルに接続してポートを転送するかを指定できます.
Docker-Compose CLI
docker-compose build//image빌드
docker-compose up//container실행
Mongoose/MongoDB
Mongooseはnodejsとmongodbに対するオブジェクトデータマッピング(ODM)ライブラリであり、互換性のないjsとmongodbデータをマッピングすることができ、crudの実現を簡素化することができる.
木の枝を乾かす
yarn add mongoose
ファイルにインポートします.モデルを定義します.
import mongoose from 'mongoose'
const userSchema = new mongoose.Schema({
name: String,
phone: String,
password: String
})
export const User = mongoose.model('User', userSchema)
//model(해당 콜렉션의 단수적 표현, 적용할 모델)
使用可能なデータ型
mongodbをバックエンドapiに接続する方法
//api파일에
mongoose.connect("mongodb://my_db:27017/study")
mongooseの公式ファイルには、使用可能なコマンドがいくつか表示されます.たとえば、データの取得方法
// Using async/await
const arr = await Movie.find({ year: { $gte: 1980, $lte: 1989 } });
// Using callbacks
Movie.find({ year: { $gte: 1980, $lte: 1989 } }, function(err, arr) {});
Nodemon/Volumes
先ほど書いたようにdocker-composeで作業すればNordemon Refresh問題が確認できます.なぜならdockerではnodemonが働かないからです.
CMDセクションをドッキングファイルにパッケージします.jsonのスクリプト部分で作成された方法で書き込みます.
Reference
この問題について(day08), 我々は、より多くの情報をここで見つけました https://velog.io/@antipiebse/day08テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol