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.s..
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