express나 http 모듈을 사용하다 보면, 해당 Request에 대해서
요청 된 값을 받아오려 하는데...
왠걸? http.get...이런식으로 하면 에러가 나버린다..
body-parser모듈을 설치하면 데이터 파싱을 쉽게 할 수 있다.
const express = require('express');
const bodyParser = require('body-parser');
const compression = require('compression');
app.use(bodyParser.urlencoded({
extended: false
})).use(compression()); //압축옵션, http 응답을 빨리하기 위해
app.post('/ask', (req, res) => {
const reqObj = req.body; //reqObj.원하는 요청 값
});
몽고db는 no-sql로 일반 R데이터 베이스랑 속도비교를 해보니..
단순한 INSERT 쿼리만 비교하더라도 몽고는 10초정도에 100만건, R데이터베이스(오라클,MY-SQL,MS-SQL등등)는 10초에 몇천건 정도로 차이가 많이 났다..
물론..관계형 데이터베이스가 아니어서 Join같이 관계가 필요한 프로젝트에서는 쓰기 어렵지만..
재미있는건 이 몽고db를 node에서 쓰려면 mongoose가 필요한데..
데이터를 collection에 넣는 경우 가령, test에 넣으면 알아서..
tests로 되고, table이라는 곳에 넣으려면 tables가 되버린다;;
알아서 복수(?)형태로 넣어버리는...
Node에서 연동하는 것은 매우 쉽다.
const mongoose = require('mongoose'); //필요한 라이브러리
const mongoSchema = new mongoose.Schema({ //집어넣을 스키마 생성
numberData: {
type: Number,
required: true
},
StringData: {
type: String,
required: true
},
DateData: {
type: Date,
required: true
}
});
var db = mongoose.connection;
db.on('error', console.error);
db.once('open', function () {});
mongoose.connect("mongodb://test:test@127.0.0.1:27017/test", { "useNewUrlParser": true })
.then(() => 접속하고나서 할 행동..)
.catch(e => 에러나면 할 행동);
Model = mongoose.model('test', mongoSchema);
mongoose.Promise = global.Promise;
var model = new Model(); //만들어진 모델객체 생성
model.numberData = 10;
model.StringData = 'Hello world';
model.DateData = new Date();
model.save(function (err) { //저장, 조회, 기타 등등등 행위..
if (err) {
console.error(err);
}
});
반응형
'몽고DB > Nodejs 몽고DB' 카테고리의 다른 글
Node.js mongoose Aggregate (0) | 2019.08.01 |
---|---|
Node.js mongoose에서 몽고db 컬렉션이 조회되지 않을 때 (0) | 2019.07.23 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글