MongoDB, Mongoose(16)
-
Mongoose ($inc) Number 값을 자동으로 변환 하는 방법
배경 Number타입의 필드를 요청 당 설정 값으로 값을 올려야 할 때 해결방안 $inc 사용 사용방법 변경 값을 +2 하는 방법 Model.updateOne({ 조건 값 }, { $inc: { 변경해야하는 필드 : 2 } }); 변경 값을 -2 하는 방법 Model.updateOne({ 조건 값 }, { $inc: { 변경해야하는 필드 : -2 } }); 변경 값이 여러개 경우 Model.updateOne({ 조건 값 }, { $inc: { 변경해야하는 필드1 : -2, 변경해야하는 필드2 : 3 } });
2024.01.13 -
Mongoose ($addToSet) 배열 필드에 중복 되지 않는 데이터 넣는 방법
배경 MongoDB를 사용에 장점인 배열 필드에 데이터를 넣을 때 중복된 데이터를 넣으면 안되는 상황 해결방안 $addToSet를 사용한다. 사용방법 Model.updateOne({ 찾는 조건 값 }, { $addToSet: { 배열 필드 명 : 들어가야하는 데이터 } });
2024.01.13 -
MongoDB field 제거 방법
배경 MongoDB에서 개발 중 필요 없는 필드에 데이터가 쌓임 원인 개발 중 사용하지 않는 필드가 존재, 또는 마이그레이션이 진행 된 이후 사용되지 않는 필드가 존재 해결 방안 shell 명령어 db.{삭제해야하는 필드가 있는 컬렉션}.update({검색 조건}, {$unset:{삭제해야하는 필드명 : 1}}) * { $unset : { 삭제해야하는 필드명 : 1 } } 명령어는 필드를 제거한다는 의미이다.
2024.01.13 -
MongoDB 비교연산자 의미 $gt $gte $lte $lt
요약 MongoDB, Mongoose 라이브러리 에서 사용 되는 비교 연산자 의미 및 사용 방법 사용 범위 Number 타입 필드 String 타입 필드 * string 경우 알파벳 순서를 기준으로 문자열을 비교함 Date 타입 필드 의미 gt : 초과 gte : 이상 lt : 미만 lte : 이하 사용 방법 gt ex) type : 3을 초과 값을 검색하는 경우 ex) time : 2023-10-29:00:00:00 시간을 초과 값을 검색하는경우 db.collection.find({type:{$gt:3}}) db.collection.find({time:{$gt:ISODate('2023-10-29')}}) gte ex) type : 3을 이상 값을 검색하는 경우 ex) time : 2023-10-29:0..
2023.10.29 -
MongoDB (Mongoose) Transaction 사용 방법
MongoDB가 4.0, Mongoose는 5.0 버전 부터 트랙젝션이 지원이 되었다. 1. Mongoose 연결 시 필수 설정 import mongoose from 'mongoose'; mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useCreateIndex: false, useFindAndModify: false, useUnifiedTopology: true }); const session = mongoose.startSession(); 2. withTransaction 메소드 사용 whithTransaction 함수 안에서 작동 해야하는 쿼리를 넣어 준다. const session = mongoose.start..
2023.02.26 -
Mongoose 다중 연결 시 링크 별 Model 사용 방법
Mongoose 다중 연결 방법 : https://crispypotato.tistory.com/182 Mongoose 다중 connect 연결 방법 한개 connection 연결방법 : https://crispypotato.tistory.com/25 connection 링크를 여러개 연결해야 하는 경우 connection을 다중으로 만들어서 연결을 만들면 에러가 발생한다. 해결 방법 * 주요 * mongoose... crispypotato.tistory.com 다중 연결 후 같은 모델을 사용하지만 링크가 다른 경우 기존에는 mongoose 바로 require 했지만 다중 연결에서는 사용 할 connection에 Model을 넣어 주어야 한다. 테스트 링크를 사용하는 model은 testUser: mong..
2022.02.11