comparison(5)
-
[Mongoose REST API] PUT, PATCH : 업데이트 & {overwrite: true}란?
PUT PATCH 용도 선택된 항목(URL)에 해당하는 {} 객체를 통째로 업데이트하기 선택된 항목(URL)에 해당하는 {} 객체 내 특정 필드를 업데이트하기 방법 모델이름.update( {조건필드이름:그값}, {overwrite:true}, 에러처리콜백함수 ) 모델이름.update( {조건필드이름:그값}, {$set: {바꿀필드이름:바꾼후값}, ... }, 에러처리콜백함수 ) 주의 PUT에서는 overwrite 인자를 사용해야 한다. PATCH에서는 set 인자를 사용해야 한다. PATCH는 원래 존재목적 자체가 원하는 특정 필드만을 골라서 업데이트하기 때문에, {$set: {}} 인자가 필요한 것이 이해가 된다. 그런데 PUT에서 {overwrite: true} 인자는 왜 필요할까? 이 인자가 없는 ..
2020.05.15 -
[Mongoose] db.~.find() VS db.~.findOne()
결과 쿼리 비교 상황 find : 여러 {} 객체로 이루어진 [] 배열을 반환 findOne : 하나의 {} 객체를 반환 파라미터로 조건 쿼리가 없을 때 모든 Document들을 반환 모든 Document들 중 가장 첫 번째만 반환 파라미터로 조건 쿼리가 있으며, 해당 조건을 만족하는 Document가 여러 개 조건을 만족하는 Document를 반환 조건을 만족하는 Document 중 가장 첫번째만 반환 파라미터로 조건 쿼리가 있지만, 해당 조건을 만족하는 Document가 0개일 때 아무 일도 일어나지 않음 null 반환
2020.05.13 -
[SQL vs NoSQL]관계설정
SQL : 테이블을 같은 비중으로 합침 SELECT 합친후출력할필드명1, ... FROM 기준이되는테이블 INNER JOIN 한곳으로모을곳 ON 조건 MongoDB : Object의 한 Key의 Value에 또다른 Object가 들어간다. db.webdev.insert( { _id: 4, name: "html", category: "structure", editor: [ { name: "Notepad", company: "Apple", convenience: 0 }, { name: "Visual Studio Code", company: "Microsoft", convenience: 100 }, ] } )
2020.05.13 -
[MongoDB] CRUD (SQL과 비교하기)
use 파일명 MongoDB SQL 테이블들을 저장하는 파일 불러오기 use languages 해당 프로그램에 따라 GUI 또는 명령어 입력 db.콜렉션명.insertOne({필드명1: 필드값1, ...}) MongoDB SQL 기존에 없던 테이블 자체를 새로 추가 시 db.webdev.insertOne({_id:2, name:"javascript", category:"script"}) CREATE TABLE webdev ( id INT NOT NULL, name STRING, category STRING, PRIMARY KEY (id) ) 기존에 있는 테이블에 새 레코드 추가 시 INSERT INTO webdev VALUES (2, "javascript", "script") db.콜렉션명.find(레코..
2020.05.13 -
[DB] SQL? NoSQL?
SQL NoSQL 뜻 Structured Query Language 구조화된 Not only SQL 꼭 구조화된 것만은 아닌 주요 언어 MySQL, Postgres MongoDB, Redi 형태 일반적으로 DB하면 생각나는 그 "테이블"중심 JSON 객체 등 문서중심 특성 자료 저장 시 반복되는 레코드를 줄이기 위해 테이블 분할 Null 또는 자료추가에 유연한 대처가능 용도 주문관리 등 같은 카테고리 내 여러 테이블 간 관계설정 필요시 인스타 등 [각 회원 - 개인정보/포스팅] 일대다 관계 필요시 자료방대 시 수직적 증가 -> 비용이 커짐 수평적 증가 -> 속도 원활 (*단 관계 복잡할 경우 SQL이 적합)
2020.05.12