バックエンド処理猫王
7437 ワード
MongoDB
柔軟で拡張性の高いデータ・モードを備えたNoSQLデータベース
ドキュメントとは?
キー値ペア
MongoDB構造
サーバ->DB->コレクション->ドキュメント順に大きいものから小さいものから構成されます.
MongoDBの使い方
MongoDBに関するインストールを行います
モンゴスというノードjsで使用するMongoDBベースのライブラリのインストール
Mongoose
1.サーバとデータベースの接続
mongoseのconnect関数の使用
src/index.js
require('dotenv').config();
const mongoose = require('mongoose');
const {PORT, MONGO_URI } = process.env;
mongoose
.connect(MONGO_URI)
.then(...)
.catch(...)
2.パターンを使用したモデルの作成と接続
src/models/post.js
import mongoose from 'mongoose';
...
const Post = mongoose.model('Post',PostSchema);
export default Post;
src/api/posts/posts.ctrl.変更
以前使用していたファイルは配列でDB接続は行われていなかったため、この部分を変更してDB接続を行うimport Post from '../../models/post' //model에 있는 내용 가져온다.
export const write = async ctx => {
const {title, body, tags } = ctx.request.body;
const post = new Post({
title,
body,
tags,
});
try{
await post.save(); //save 함수를 통해 비로소 DB에 저장
ctx.body = post; //사용자에게 결과 반환을 위한 처리
}
catch(e){...}
}
....
export const list = async ctx => {
try {
const posts = await Post.find().exec(); //model에 있는 기본 Post 내용들에서 찾아내기 위해 사용
...
}
catch(e){...}
}
整理する
src/index.js:mongose接続
src/api/index.js : const posts = require('./posts');
src/api/posts/index.js:const postsCtrl = require('./posts.ctrl');
、複数の関連CRUD関数の2番目のパラメータに接続
src/api/posts/posts.ctrl.js:関連関数の説明、exports.write = ctx=>{...}
src/models/posts.js:接続するモードとモデルを作成する
子から親にインポートします.
データベース・モデルのモデルをパブリッシュします.ctrlは、Koa-router
によって接続およびバンドル処理を継続する必要な関数動作処理を取得する.
以前の内容
Reference
この問題について(バックエンド処理猫王), 我々は、より多くの情報をここで見つけました
https://velog.io/@khw970421/백엔드-다루기-mongoose
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
require('dotenv').config();
const mongoose = require('mongoose');
const {PORT, MONGO_URI } = process.env;
mongoose
.connect(MONGO_URI)
.then(...)
.catch(...)
import mongoose from 'mongoose';
...
const Post = mongoose.model('Post',PostSchema);
export default Post;
import Post from '../../models/post' //model에 있는 내용 가져온다.
export const write = async ctx => {
const {title, body, tags } = ctx.request.body;
const post = new Post({
title,
body,
tags,
});
try{
await post.save(); //save 함수를 통해 비로소 DB에 저장
ctx.body = post; //사용자에게 결과 반환을 위한 처리
}
catch(e){...}
}
....
export const list = async ctx => {
try {
const posts = await Post.find().exec(); //model에 있는 기본 Post 내용들에서 찾아내기 위해 사용
...
}
catch(e){...}
}
src/index.js:mongose接続
src/api/index.js :
const posts = require('./posts');
src/api/posts/index.js:const postsCtrl = require('./posts.ctrl');
、複数の関連CRUD関数の2番目のパラメータに接続src/api/posts/posts.ctrl.js:関連関数の説明、
exports.write = ctx=>{...}
src/models/posts.js:接続するモードとモデルを作成する子から親にインポートします.
データベース・モデルのモデルをパブリッシュします.ctrlは、
Koa-router
によって接続およびバンドル処理を継続する必要な関数動作処理を取得する.以前の内容
Reference
この問題について(バックエンド処理猫王), 我々は、より多くの情報をここで見つけました
https://velog.io/@khw970421/백엔드-다루기-mongoose
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(バックエンド処理猫王), 我々は、より多くの情報をここで見つけました https://velog.io/@khw970421/백엔드-다루기-mongooseテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol