我从 MongoDb 和 nodejs(使用 mongoose)开始。
我有一系列Stories,每个都可以有一个或多个Tags,就像这样:
{
title: "The red fox",
content: "The red fox jumps away...",
tags: [
{
tagname: "fairytale",
user: "pippo"
},
{
tagname: "funny",
user: "pluto"
},
{
tagname: "fox",
user: "paperino"
}
]
},
... other stories
现在我想做一个标签云。
这意味着查询所有标签的故事。
在关系世界(例如 MySQL)中,我将有一个 Stories 表、一个 Tags 表和一个 Stories_Tags 表(多对多)。然后我会查询标签表或类似的东西。
有没有办法这样做?(我确定是的)
如果是,这是一个好习惯吗?还是它打破了 nosql 范式?
你能想象一个更好的模式设计方法吗?