월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
RDB에서 사용하는 like 검색과 유사한 검색?
안녕하세요~? 좋은 강의 만들어주심에 항상 감사를 드립니다! ^^ text index 를 학습하다가 궁금한 것이 생겼는데요, RDB에서 사용하는 like 검색처럼 몽고디비에서도 검색 가능할까요? 예를 들어서 content: "abcd efgh"라고 저장되어 있으면 RDB에서는 like '%bc%' 로 검색을 해도 해당 row가 검색이 될 텐데, 이번 강의에서 설명해주신 text index에서는 full word(abcd)로만 검색이 가능한 것 같네요. mongodb에서 full word 가 아닌 word 중 일부 letter(bc) 로 검색하는 방법이 혹시 있을까요?
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
몽고 shell 명령어
몽고 디비 쉘 명령어 강의도 간단히 해주실 수 있나요? 백업이나 복구 이런거 연습하고 싶은데 관련된 사이트만 알려주셔도 될 것 같은데 있을끼요?? 찾아보면 되긴하는데 중구난방되오있어서요. 잘 쓰는 명령어 뭐 그런게 있을까요?? 물론 아틀라스가 너무 잘되어있지만 가끔 명령어 쓰고 싶을때가 있어서요.
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
Comment.updateMany 도 필요하지 않을까요~?
안녕하세요? 좋은 강의 만들어 주셔서 잘 보고 있습니다. 감사합니다 ^^ 본 수업에서 User의 name 이 수정 될 때, Blog document 업데이트 부분까지는 이해가 가는데요, 그러면 이 때 Comment collection 의 userFullName 도 업데이트 되어야 하지 않을까요? await Promise.all([ Blog.updateMany({ "user._id": userId }, { "user.name": name }), Blog.updateMany( {}, { "comments.$[comment].userFullName": `${name.first} ${name.last}` }, { arrayFilters: [{ "comment.user": userId }] } ), Comment.updateMany( { user: userId }, { userFullName: `${name.first} ${name.last}` } ), ]); 위와 같이 Comment 업데이트 부분도 추가되어야 하지 않을까 생각되는데 피드백 부탁 드려요~ :)
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
Cannot find module 'mongodb'
ObjectID로 수정하려는데 let ObjectID = require('mongodb').ObjectID; 하면 mongodb 모듈을 찾을 수 없다고 하네요.
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
blog.save에 관련하여 질문있습니다.
let blog = new Blog({...req.body, user}); blog.save(); 할 때, user를 안 넣고 user의 ObjectId를 직접 입력해줘도 상관없을까요??
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
EC2 vs lightsail
취미 활동으로 제 블로그나 사이트를 운영해보고 싶은 학생입니다. AWS 를 GCP(너무 어렵습니다..) 보다 선호하여 강의를 보고 배포도 직접 해보려고 하고 있어요. 대충은 lightsail 이 EC2 와 비슷하지만 좀 더 라이트하고 개발에 집중할 수 있도록 나온 것 이라고 알고 있습니다. (EC2 는 설정도 많고 이것저것에 따라 가격도 달라진다고 알고 있습니다) 중소규모 개인블로그를 lightsail 으로 쓸 수 있을까요? 아니면 따로 EC2를 공부해서 써야 하나요?? 트래픽이 그래도 쫌 나온다 하고 .. 글도 많다고 가정했을 때 lightsail 로는 관리를 할 수 없는건가요..
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
리팩토링 후 get user는 잘 되는데 put post delete 등은 안 되네요
몽구스 이스 낫 디파인드래요 ㅠ
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
pull not working
안녕하세요! 항상 강의 잘 듣고 있습니다. 감사합니다. 질문이 너무 많은 거 같아 죄송하네요.. 저같은 경우에는 comment schema의 user를 사진과 같이 구현하였습니다. 그렇기에 { $pull: { comments: { user: { _id: mongoose.Types.ObjectId(userId) } } } } 이와 같이 filter를 주었습니다. 그런데 pull이 작동을 하지 않습니다. 즉, 블로그의 comments의 해당 user가 남긴 댓글이 남아있습니다.해결 방안을 찾기 위해 많이 고민해보았지만 방법을 찾지 못하고 질문을 남깁니다. 위 사진은 mongoose debug 내용과 blog를 console로 찍은 사진입니다. 또한 저의 깃허브 주소도 첨부하겠습니다. https://github.com/onejaejae/learn_mognoDB 감사합니다 :)
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
arrayFilters 질문
안녕하세요! 항상 강의 잘듣고 있습니다. 감사합니다. Blog.updateMany( {}, { 'comments.$[element].user.name': name }, { arrayFilters: [{ 'element.user._id': userId }] }, ) 위 코드에서는 모든 blog를 대상으로 arrayFilters를 수행한다고 이해했는데요, 제가 이해가 가지 않는 부분은 왜 조건을 {} (빈 객체)로 설정했는지 입니다. {"comments.user._id" : userId}로 조건을 건다면 모든 blog 중에서 comments의 해당 userId가 존재하는 blog만을 대상으로 arrayFilters를 수행해서 좀 더 효율적이라고 생각하는데 이 부분에 대해서 설명 부탁드립니다. 감사합니다 :)
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
$의 역할
안녕하세요! 항상 강의 잘 듣고 있습니다. 감사합니다. Blog.updateOne({ 'comments._id': commentId }, { 'comments.$.content': content }) 1) 위 코드에서 comments._id에서 사용된 "."은 comment의 schema를 comments: [commentSchema]와 같이 구현하였기 때문에 commentSchema.id와 같은 의미로 이해해도 되나요? 2) 'comments.$.content'에서의 $는 앞의 조건을 만족하는 배열의 인덱스라고 이해해도 되나요?
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
안녕하세요. 질문이 있습니다.
안녕하세요! 좋은 강의 감사드립니다 :D mongodb의 index 관련 수업을 듣고나니까 드는 생각이 mongodb는 NoSQL 인데도 불구하고, RDB 못지않은 굉장히 뛰어난 indexing 기능 (ex. secondary, compound 등)을 갖고 있다라는 생각이 드는데요. 현업에서 만약 여러 NoSQL DB를 고려한다고 가정했을때, mongodb는 다른 NoSQL에 비해 뛰어난 indexing 기능을 제공한다는 것이 차별점이 돼서 선택기준이 될 수 있을까요??
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
blog와 user의 검증 부분에서 궁금한 점이 있습니다.
강의에서는 findByIdAndUpdate를 하셨는데, findById를 하는 것이 더 낫지 않나요??
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
중간부분 개선 방법
강의에서 페이징 중간부분도 개선가능하다고 하셨는데, 보통 어떤방법으로 개선하는지 짧게라도 알려주실 수 있을까요?
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
안녕하세요! 질문있습니다.
안녕하세요. 좋은 강의 감사드립니다 :) 몽고디비 index 관련해서 궁금한 사항이 생겨 질문드립니다. mysql 같은경우에 index를 통한 조회는 disk로 부터 하나의 data block을 fetching하는 single block I/O가 발생하기 때문에 전체 데이터에서 조회하고자 하는 데이터가 많을 경우에는 index를 통한 조회가 full scan보다 오히려 성능적으로 악화되는 구간이 존재하므로 무조건 index를 거는것이 성능에 이점을 주지 않을수도 있다고 알고있는데요. 몽고디비의 index도 동일하다고 생각하면 되는 걸까요?
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
강의 잘 듣고 있습니다 질문드립니다
java 스프링 생태계에서는 mongoose와 같은 라이브러리가 따로 없더라구요. 1. 현재 수업에서 mongoose를 사용해 진행하는 부분을 spring에서 사용하고자 한다면, schema 생성자로 유효성체크, populate, virtuual과 같은 mongoose에서 지원해주는 기능들은 어플리케이션안에 그냥 비지니스 로직으로 녹여야하는걸까요? 2. virtual과 같은 가상키 만드는건 mongodb 순수 쿼리로는 어떻게 작성해야할까요? mongoose 문법에 의해 생성되는 몽고디비 쿼리를 볼 수 있는 문서가 있을까요?
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
Promise.all()
안녕하세요! 강의 듣다가 이해가 안가는 부분이 있어서 질문 드립니다. blogs.map()으로 blogs 배열의 1개의 data가 완료되면 다음 인덱스의 data가 실행되는 구조이고 res1과 res2는 await으로 구현해서 기존의 promise.all()을 쓰지않은것과 같이 실행될꺼같은데 어떻게해서 "병렬적이면서 순차적"으로 실행되는지 좀만 더 자세한 설명 부탁드려도 될까요? 감사합니다!
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
isLive 역할
안녕하세요 강의 항상 잘 듣고 있습니다! blog모델의 isLive가 어떤 역할을 하는지 잘 이해가 가질 않는데 설명 부탁드려도 될까요? 감사합니다!
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
required, default
안녕하세요. 항상 강의 잘 듣고 있습니다. 감사합니다! 1. isLive 필드는 required가 true, default값이 false인데 수업 예시 처럼 클라이언트에서 isLive의 값을 주지 않을 경우 required 속성에 의해서 오류를 뱉어내야하는데 정상적으로 작동하는 이유가 default값이 설정되있고(default값이 없고 클라이언트에서 데이터를 주지않았다면 오류) new Blog(req.body) 과정에서 db로 가기전에 mongoose가 자동으로 만들어줘서 isLive를 default 값으로 만들어주어서 그런것인가요? 2. 클라이언트 오류 처리를 required와 type 각각 처리되어야 된다고 생각하여 이렇게 로직을 짜보았는데 피드백 부탁드립니다! 감사합니다!!
- 미해결mongoDB 기초부터 실무까지(feat. Node.js)
강의에서 자세히 안 다룬 부분
중간중간 "~이런 건 이 강좌에서 다루지 않을꺼고요" 하고 넘어간 부분들과 mongodb, mongoose 심화 를 다룬 후속강좌가 나오는지 궁금합니다. mysql, postgresql, sequelize 강좌도 생각 있는지 궁금합니다. 백엔드 개발하면서 강좌가 정말 도움 많이 됐습니다 감사합니다.. 후속강좌도 나왔으면 좋겠습니다.
- 해결됨mongoDB 기초부터 실무까지(feat. Node.js)
질문있습니다!
안녕하세요! 좋은 강의 감사드립니다 :) 강의를 들으면서 mongodb의 data 저장에 대해 한가지 의문사항이 생겨 글 남깁니다! mongodb 같은 경우에는 { _id: ... content: ... user: ... } 와 같은 형태로 data를 저장하는데요. 이럴 경우 해당 collection의 모든 document에서 _id, content, user 값이 즉, key에 해당하는 값이 중복되어 저장되는 구조인가요? (예를 들어, 위와 같은 형식의 document가 10000개 저장된다면 _id, content, user 값 또한 10000번 중복되어 저장) 만약 그렇다면, mongodb는 저장하는 data 형태의 특성상 저장 공간을 효율적으로 사용하지 못한다는 단점을 가지고 있다고 생각해도 되는 걸까요?