Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个存储所有表单数据的集合,每个表单具有不同的结构,但有些表单具有重叠的字段名称。我喜欢 mongo,因为它在这里证明了它的易用性,它允许我根据一些小的共同因素对完全不同的数据进行排序和汇总。
现在,对于 UI,我需要数据库中所有可能字段的列表,以便用户可以选择要查看的字段。除了索引,我似乎找不到任何 mongo 来返回字段列表。
我该怎么办?
没有提供此信息的本机 MongoDB 功能。MongoDB 是完全无模式的,因此您必须执行完整的数据库遍历来编译所有唯一字段名称的列表。
唯一可能的解决方法是使用{field: <field name>, value: <field value>}对存储所有字段并在“字段”上运行不同的操作,或者在数据库中单独维护唯一字段名称的列表。两者都有明显的缺点。
{field: <field name>, value: <field value>}
试试这个:
db.collection_keys.distinct("_id")