Mongoose (Basic)
6874 ワード
Introduce
この文書は2022年3月22日に作成されました.
Mongooseはオブジェクトドキュメントマッピング(ODM)ライブラリです.
アプリケーションとMongoDBをメソッド形式で簡単に接続できます.
そのためには、まずアプリケーションフレームワークを決定する必要があります.
最も簡単で大衆化されたExtenssを使用し、プロジェクト構造は以下の通りである.
# Program
# Modules
# Project
作成時に行われる練習項目はExpress with MongoDBです.
詳細については、リポジトリのREADMEを参照してください.mdを確認してください.
Thoery
この文書の項目はRESTful APIに基づいています.
詳細については、Verlog-Devコンピュータの専門知識>REST APIを参照してください.
CRUDとは?
Create、Read、Update、Deleteの4つの方法.
ここの方法は、
クライアントがブラウザを使用してサーバに要求を送信すると、
添付する情報オブジェクトタイトルのmehotd値を表します.
RESTful APIとは?
CRUDのために設計されたバックエンドAPIは、RESTful APIまたはRESTfulサーバと呼ばれる.
ここでいうRESTとは、
状態遷移を表すRepresentation State Transfer.
クライアントがサーバに情報を送信するメソッド値.
つまり.
CRUDカスタムAPIは、以下に示すように、RESTful APIと呼ぶことができる.
GET/userログイン
POST/user会員入力
GET/user/:idメンバー情報の表示
PUT/user/:idメンバー情報の変更
DELETE/user/:idメンバー終了
Mongoose
ここでは、Mongoose APIを参照してください.
同時に使用されるいくつかの一般的な方法に限定されます.
たまに使用または詳細は、終了時にMongoose APIまたはgooglingを使用することができます.
GET、POST、PUT、DELETEなどでデータベースを接続する場合は、非同期処理(async await)が必要です.
ObjectId
MongoDBでは、ハッシュインデックスのオブジェクトIDが自動的に作成されます.
次の投稿MongoDBについてを参照してください.
Shcema, Model
ここで説明するuserModelには、次のものがあります.
import mongoose from "mongoose";
const userSchema = new mongoose.Schema({
email: { type:String, required:true, unique:true },
password: { type:String, required:true },
age:Number
}, { timestamps:true });
// timestamp 옵션은 처음 데이터를 생성했을 떄 createAt, 수정했을 때 updateAt 을 최신화
export default userModel = mongoose.model('User', userSchema);
POST / Create
POSTメソッド、Createには以下の2つのケースがあります
2つ目の方法は、userModelに基づいてDBに直接作成することです.
二つの方法はほとんど同じではない.
GET / Read
GETメソッド、Readには以下の場合があります.
SQLのようにselectでIOを制限したり、正規表現を使用したりすることができます.
PUT / Update
PUTメソッド、更新は以下の場合があります.
user.save();
ただし、ObjectIdがない場合や、パスワードなどを比較する必要がある場合は、仕方がありません.
DELETE / Delete
DELETEメソッド、DELETEには次のような場合があります.
Mongoose Relation
ユーザーが投稿を作成するための要件
Mongooseの実現方法は2つあります.
postSchema <-> userSchema
// userSchame 안에 아래의 코드 삽입
postLists: [{ type:mongoose.Schema.Types.ObjectId, ref: "Post" }],
userSchemaでは上記のコードを使用しますが、実際にJOINを使用する方法はpopulateメソッドを使用します.userModel.findById({ _id:"대충 문자열 블라블라" }).popualte("postLists");
post in userSchema
json形式でグループ分けして入ればいいです
Reference
この問題について(Mongoose (Basic)), 我々は、より多くの情報をここで見つけました https://velog.io/@unchapterd/Mongooseテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol