const vs let vs var
const a1 = 13;
var a2 = 23;
let a3 = 34;
- const a1 = 13;
=> 변경 불가 {블록내부에만 사용}
- var a2 = 23;
=> 변경 가능 {블록내부, 외부 사용}
- let a3 = 34;
=> 변경 가능 {블록내부에만 사용}
Object 타입의 value값을 도출하는 방법
a = {menu: "2"}
b = {abc: "a", def: "b"}
c = [{a: "a", b: "b"}, {a2: "a2", b2: "b2"}, {a3: "a3", b3: "b3"}]
- a = {menu: "2"}의 구문에서 값인 2를 꺼내고 싶을 경우
=> console.log(a.menu)
- b = {abc: "a", def: "b"}의 구문에서 특정 키의 값을 꺼내고 싶을 경우
=> console.log(b.abc) or console.log(b.def)
- c = [{a: "a", b: "b"}, {a2: "a2", b2: "b2"}, {a3: "a3", b3: "b3"}]의 구문에서 값을 꺼내고 싶을 경우
=> console.log(c[0].a) or console.log(c[1].b2)
mongodb 접속방법
const mongoclient = require("mongodb").MongoClient;
//mongodb://아이디:암호@서버주소:포트번호/DB명
const mongourl = "주소";
router.post('/join', async function (req, res, next) {
const id = req.body.userid;
const pw = req.body.userpw;
const obj = {userid:id, userpw:pw};
//2.1 DB접속
const dbconn = await mongoclient.connect(mongourl);
//2.2 저장할 컬렉션 선택하기
const collection = dbconn.db("아이디").collection("테이블명");
//2.3 데이터 저장하기
const ret = collection.insertOne(obj);
//2.4 DB닫기
await dbconn.close();
});
- CDM> npm install mongodb --save
=>cmd창에 해당 구문을 입력한다.
- mongodb라이브러리를 사용하기 위하여 변수에 저장한다.
- mongodb서버에 접속하기 위하여 mongourl변수에 위와 같은 형식으로 주소를 작성한다.
- JavaScript는 비동기 방식이기 때문에 순서가 보장되지 않는다. 그래서 순서를 보장하기 위해 await를 사용한다.
- 홈페이지에서 받아온 아이디와 패스워드 값을 데이터베이스에 넣기 위해 다음과 같은 구문을 작성한다.
=> 변수명.insertOne(Object) 또는 변수명,insertMany(Object)
mongodb CRUD(Create/Read/Update/Delete)
const result = await collection.insertOne(추가할값);
const result = await collection.deleteOne(조건);
const result = await collection.find(조건).toArray();
const result = await collection.updateOne(조건, {$set:변경할값});
- 1번 항목은 mongodb에 데이터를 추가할 경우 사용하는 구문(하나 또는 다수의 데이터를 넣을 수 있다.)
- 2번 항목은 mongodb에 데이터를 삭제할 경우 사용하는 경우(하나 또는 다수의 데이터를 삭제할 수 있다.)
- 3번 항목은 mongodb에 존재하는 데이터를 조회할 경우 사용하는 구문(특정 조건에 만족하는 데이터를 추출할 수 있다.)
- 4번 항목은 mongodb에 존재하는 데이터의 값을 변경할 경우 사용하는 구문(특정 조건에 만족하는 데이터를 변경할 수 있다.)