Performance: Population for references
MEDIUM IMPACT
This affects server response time and data transfer size when resolving related data references in database queries.
app.get('/posts', async (req, res) => { const posts = await Post.find().populate('author', 'name').populate('comments', 'text'); res.json(posts); });
app.get('/posts', async (req, res) => { const posts = await Post.find().populate('author').populate('comments').populate('tags'); res.json(posts); });
| Pattern | Database Queries | Data Size | Response Time | Verdict |
|---|---|---|---|---|
| Populate all references fully | Multiple queries per reference | Large JSON payload | High latency (100+ ms) | [X] Bad |
| Populate only needed fields | Minimal queries with field selection | Smaller JSON payload | Lower latency (50 ms or less) | [OK] Good |