我正在閱讀有關NoSQL的內容。我知道這不是建立在關係上,但我無法弄清楚如何做一些基本的事情。 (而且我沒有找到關於它的真實示例代碼)。NoSQL計劃示例
我想存儲用戶,帖子和評論。
SQL版本:
user's table: user_id, username
posts's table: post_id, user_id, content
comments's table: comment_id, content
好吧,簡單。
在NoSQL的是我起草的(100%的功能,我不使用現在這個樣子的MongoDB等任何技術):
users:
{
id: XX,
username: "John"
},
{
id: OO,
username: "Mike"
}
posts:
{
id: YY,
content: "How are you all ?",
user: {
id: OO,
username: "Mike"
},
comments: {
id: ZZ,
content: "Fine",
user: {
id: XX,
username: "John"
}
}
}
我可以存儲在用戶的ID在文章和評論的地方的整個用戶,但我使用NoSQL,而不是SQL,所以我沒有這樣做。
首先? NoSQL的這種數據模型是否合適?
其次,如果對於上一個問題,如果用戶XX(John)將用戶名更改爲「Tony」會怎麼樣?有可能我將不得不更新他的所有帖子,每個評論也是一樣的!讓我們想象一下,在用戶的生活中,他發佈了10 000多條評論,跆拳道。所以我猜我做錯了。
你能澄清我的誤解嗎?
你知道NoSQL只是意味着「不是SQL」,對嗎?沒有標準化的NoSQL語法,所以一切都取決於您使用的數據庫。你發佈的只是一些看起來像JavaScript對象的東西。 –
NoSQL數據存儲(Cassandra等)通常只是關鍵的價值存儲。所以在你的情況下,也許關鍵是用戶ID,然後是的,你需要找到一種方法來處理它指向的JSON blob。 –