This is the best thing for NoSQL!
If your app primarily involves User-based queries, you should consider the costs associated with frequent querying. If you are fetching need access to all information, such as likes and location, the Embedded design pattern is a good choice for your database queries. This pattern allows you to retrieve or set all of this data with a single query.
However, it’s important to note that this pattern is referred to as the ‘Embedded design pattern.’ There are various patterns available, and you can choose the one that best suits your needs.
For example:
db.blog.findOne()
{
_id: ObjectId("649a137d51953aa117e8d6c3"),
title: 'aggregate',
comments: [ ======> REFERENCED
ObjectId("649a13a051953aa117e8d6c4"),
ObjectId("649a13a051953aa117e8d6c5"),
ObjectId("649a13a751953aa117e8d6c5")
],
embeddedComment: { =========> EMBEDDED
_id: ObjectId("649a13a051953aa117e8d6c4"),
comment: 'hmmm, ilgi çekici'
}
}
The choice of pattern depends on the specific requirements of your app.
If you had been developing an e-commerce application, I would have recommend using the ‘reference design pattern.’
For now, your app seems to be in good shape.