Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- frontend
- 자바스크립트
- form
- Session
- backend
- heroku
- CLONE
- Component
- API
- GRID
- react
- nodejs
- DART
- NextJs
- CSS
- javscript
- TypeScript
- ES6
- MongoDB
- graphQL
- ECMAScript
- JavaScript
- express
- Flutter
- HTML
- 리액트
- clonecoding
- Mongoose
- node.js
- pug
Archives
- Today
- Total
Enjoy Programming
[mongoose] populate() 본문
기존 클론코딩을 하며 mongoose의 populate메서드를 가져다 쓴적이 있는데..
음 object id를 가져온다는건가? 뭔지 이해가 잘 안갔는데 차근차근 다시 포스팅해본다.
mongoose 공식 doc을 보면 mongo-db의 lookup과 같은 연산자를 갖고 있다.
그리고 mongoose는 더 강력한 대체항목으로 populate()메서드를 가지고 있다고 한다.
그럼 간단히 말해 populate()가 하는 역할이 무엇인가~
다른 스키마의 정보를 참조해서 쓰는것이다.
우선 두개의 스키마 user와 video 가 있다고 하자
그리고 video 스키마에는 owner라는 key가 있다.
그리고 이 owner는 ObjectId 타입이고 User model을 참조하고 있다
이때 owner를 통해 User document의 정보를 가져오려면 populate()를 사용하면 간단하다
video에서 req의 id를 통해 해당id의 정보를 video에 담아주는데 이때
populate("owner")를 해주면!
짜잔!!! 와우 owner의 객체 정보까지 전부 담겨있다...
전에 쓸때는 사용법을 잘몰라서 해당 참조의 name을 받아오는데 type을 String으로 지정했었다...
그래서 한계가 있었는데
이렇게 하면 모든 정보를 다 쓸 수 있구나...
populate짱!
'JavaScript > Node.JS' 카테고리의 다른 글
babel-cli && build (0) | 2021.06.29 |
---|---|
백엔드에서 프론트로 정보남기기 (0) | 2021.06.23 |
Cookie - property (0) | 2021.06.09 |
password hash & salt - bcrypt (0) | 2021.06.09 |
[mongoose] exists(), middleware, static (0) | 2021.06.05 |