如何在MongoDB集合中存储描述文档的元数据?

如何在MongoDB集合中存储描述文档的元数据?,mongodb,indexing,metadata,database,Mongodb,Indexing,Metadata,Database,在MongoDB中存储描述集合的元数据的最佳方式是什么 我有一个集合,其中包含任意数量且不断变化的文档。创建新文档时,我希望根据集合中当前文档的数量分配一个新的临时名称(字符串),例如“文档1”、“文档2”。。。由于可以删除文档,因此仅执行count()不会产生有用的结果 一种选择是将描述集合的元数据存储在另一个集合中,但这似乎有些尴尬 因为Mongo是无模式的,所以我可以将集合的元数据保存在集合本身中,可能保存在名为“metadata”的文档中。在这种情况下,我如何快速访问该文档?我是否需要为

在MongoDB中存储描述集合的元数据的最佳方式是什么

我有一个集合,其中包含任意数量且不断变化的文档。创建新文档时,我希望根据集合中当前文档的数量分配一个新的临时名称(字符串),例如“文档1”、“文档2”。。。由于可以删除文档,因此仅执行count()不会产生有用的结果

一种选择是将描述集合的元数据存储在另一个集合中,但这似乎有些尴尬

因为Mongo是无模式的,所以我可以将集合的元数据保存在集合本身中,可能保存在名为“metadata”的文档中。在这种情况下,我如何快速访问该文档?我是否需要为“元数据”建立一个索引以立即获取它,而无需O(n)搜索时间

有没有比我在上一段中描述的更标准或更简单的方法?将来我可能会得到更多的元数据,而不仅仅是计数。

您可以查看此链接

根据上面的链接,我的观点是,只需将这些内容存储在名为
元数据的集合中,格式如下:

{
    '_id':'collection1'
    'c': 0,
    'other metadata1': 'foo',
    'other metadata2': 'bar'
}
然后可以根据集合名称获取这些元数据。
如果您想在此文档中添加字段,只需与update一起使用。

我们通常会将设置或元数据等放在一个单独的文档集合中。设置。
例如,如果您的数据位于集合“user”中,我将元数据放在“user.settings”中。

是的,该链接意味着建议创建一个专用于元数据的集合。看起来很奇怪…我会等着听听其他想法再接受。谢谢,您也可以使用存储文档本身的集合来拥有元数据/计数器doc@Pangea,这就是我在问题中所描述的,但如果我这样做,我是否需要在该元数据文档的某个字段上创建索引,以便在固定时间内查找文档,如果要在同一集合中存储元数据,则必须在字段上添加索引,而不是线性索引。但是为了更好地维护,我会使用一个集合来存储它:)为什么不能只使用添加到每个文档中的唯一id。这和顺序计数器一样好。代理密钥。我绝对同意你的意见,投了赞成票。我希望集合本身内置元数据。我们可以使用类似于“db.collection.Product.setMetadata({data1:dataValue})”的内容,也可以类似地将元数据获取为“db.collection.Product.getMetadata()