MongoDB中的标签

MongoDB中的标签,mongodb,tags,Mongodb,Tags,我是MongoDB的新手 我有一个可以有多个标签的产品。我看到了一些教程,其中的集合如下: { _id: 1234, tags: ["stationery","electronics"] } { _id: 456, tags: ["home","electronics"] } { _id: 135, tags: ["books","stationery"] } 我有一个固定的标签列表。我所有的产品都属于这些标签。现在我的问题是如何存储这样一个列表

我是MongoDB的新手

我有一个可以有多个标签的产品。我看到了一些教程,其中的集合如下:

{
    _id: 1234,
    tags: ["stationery","electronics"]
}
{
    _id: 456,
    tags: ["home","electronics"]
}
{
    _id: 135,
    tags: ["books","stationery"]
}
我有一个固定的标签列表。我所有的产品都属于这些标签。现在我的问题是如何存储这样一个列表,以便在添加新产品时,我可以显示此列表,并要求用户仅从此列表中选择标签

我是否应该制作另一个名为Tags的文档,并在每个集合中保存引用?如果我这样做,那么在搜索属于say Books类别的产品时,我将不得不运行2个查询


请建议

存储您在教程中看到的标记

{
    _id: 1234,
    tags: ["stationary","electronics"]
}
这样可以方便地进行查询。现在,为了服务于您的标签添加UI,我将创建一个单独的集合“标签”,它将由非常简单的文档组成

{ name: 'stationary' }
{ name: 'electronics' }
{ name: 'books' }
(mongodb将在它们上面创建一个
\u id
字段,但您不关心它)


因此,您的UI将读取此集合中的文档,并使用
name
property填充产品的
tags
属性。

谢谢。还有一件事-我应该使它不可编辑的权利,否则会有太多的写入?我的意思是标签的名称不应该被编辑。如果发生这种情况,我将需要更新所有产品,以反映新的标签名称。好奇地想知道,如果将标签作为子文档包含在博客帖子的类别中,是否会很好?