我有一个集合,其中存储所有表单数据,每个表单具有不同的结构,但是某些表单具有重叠的字段名称。我喜欢mongo,因为它在这里很容易证明,允许我根据一些小的共同因素对完全不同的数据进行排序和汇总。
现在,对于UI,我需要一个包含数据库中所有可能字段的列表,以便用户可以选择要查看的字段。除了索引之外,我似乎无法找到任何返回字段列表的mongo。
我该怎么做?
答案 0 :(得分:4)
没有提供此信息的本机MongoDB功能。 MongoDB是完全无模式的,因此您必须执行完整的数据库遍历来编译所有唯一字段名称的列表。
唯一可行的解决方法是使用{field: <field name>, value: <field value>}
对存储所有字段,并在“字段”上运行不同的操作,或者在数据库中单独维护一个唯一字段名称列表。两者都有重大缺点。
答案 1 :(得分:0)
试试这个:
db.collection_keys.distinct("_id")