我設計一個多語種電子商務網站。產品具有不同的屬性。對於每種語言(例如顏色),某些屬性是不同的,其他屬性對於所有語言(例如SKU)都是相同的。屬性不是預定義的,例如汽車具有除意式咖啡機之外的其他屬性。多語言電子商務網站的高效MongoDB模式設計是什麼?
我想設計數據庫模式使得:
- 搜索和代表從X類所有產品在語言Y是快速
- 重複數據量是低
- 我不「不想使用的文件與翻譯
我想使用的模式是這樣的:
{
_id: ObjectID("5dd87bd8d77d094c458d2a33"),
multi-lingual-properties: ["name", "description"],
name: { en: "Super fast car",
nl: "Hele snelle auto"},
description: { en: "Buy this car",
nl: "Koop deze auto"},
price: 20000,
sku: "SFC106X",
categories: [ObjectID("4bd87bd8277d094c458d2a43")]
}
是否有這個模式一個更好的選擇?我使用這種模式時會遇到什麼問題?
以我的經驗,電子商務系統往往有高度關係數據庫模式UI浮出水面 - 你確定MongoDB是正確的呢? –
@Neville答:是:http://spf13.com/post/mongodb-ecommerce-a-perfect-combination和 http://kylebanker.com/blog/2010/04/30/mongodb-and-ecommerce/ –
我完全準備接受我是一個憤世嫉俗的老山羊,但事實上MongoDB的支持者在這方面贊成MongoDB並不足以影響我。 我很喜歡的一個電子商務網站的目錄部分的NoSQL的想法 - 產品是出了名的多態。我不知道我想要做的業務邏輯部分 - 購物車,退房,支付,解決,落實 - 沒有我的關係舒適毯子...... –