我加入了這個使用 MongoDB 的新專案,我看到了這個結構:
收藏:用戶
salutation (ObjectId) name (String) status (ObjectId)
ObjectId("111") Mark ObjectId("112")
收藏:價值觀
_id description (String)
ObjectId("111") Mr.
ObjectId("112") active
對于所有不可更改的值,它們指的是 Values 集合的 id。我不知道這在關系資料庫中是否是一種常見的做法,但到??目前為止我還沒有在 MongoDB 中看到它。
他們使用 Nestjs 和 Mongoose。
對于每個請求,他們需要查詢用戶集合和多次值集合。這是一個好方法嗎?
uj5u.com熱心網友回復:
請避免使用 Values 集合,這在 mongo 中不是一個好的標準。如果您想要一個有效稱呼值的串列,您可以創建一個稱呼集合等等。
然而,一切都將取決于用例。有時您將能夠嵌套屬性,有時您需要擁有不同的集合并使用物件 ID 指向該新集合。
您可以在此處閱讀所有 mongo 設計模式和每個用例:https: //www.mongodb.com/blog/post/building-with-patterns-a-summary
我覺得在這種情況下,您應該將用戶的值嵌套在用戶集合中,這樣就可以了
你可以有這樣的東西:
{
"name": "Derek",
"status": "active",
"salutation": "Mr."
}
如果不是,您將需要以某種方式進行查找以獲取值,而這將不會有良好的性能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/465636.html
上一篇:如何根據MongoDB聚合中的條件過濾物件陣列以洗掉元素?
下一篇:從年初獲取前幾個月的串列
