Mongo集合中所有文档中字段的超集

阿尼尔·库玛(Anil Kumar)

_id假设所有文档的类型相同,但字段数不同,如何在MongoDB的单个集合中创建所有文档中存在的超大字段集(除外)。

例子 :

doc1 - {"_id":"test1", "firstName":"sample1", "age":24, "state":"Kansas"}
doc2 - {"_id":"test2", "lastName":"sample2", "age":24, "country":"US"}

超级集将是: {"firstName", "lastName", "age", "state", "country"}

克列丹

您可以尝试运行mapReduce 将返回输入集合中所有给定文档键作为_id结果文档键的操作。这将在输出集合中,然后您可以在其中应用_id字段上的不同命令以检索字段的超集。

以下示例显示了此概念:

// Run mapReduce on collectionName
String map = "function () { for (var key in this) { emit(key, null); } }";
String reduce = "function () {}";
MapReduceResults<ValueObject> results = mongoTemplate.mapReduce(
    "collectionName", 
    map, 
    reduce,
    new MapReduceOptions().outputCollection("col_out"), 
    ValueObject.class
);
// Get the distinct keys from output collection col_out ---
List<String> fieldsSuperset = mongoTemplate.getCollection("col_out").distinct("_id");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取Firestore集合中所有文档的名称(字段)?

如何检查Cloud Firestore中集合中所有文档中是否都存在字段值?

更新 Firestore 中所有文档中的地图字段

在Mongo Shell中删除MongoDB集合中的所有文档

如何使用节点js更新mongo中集合中所有文档的_id?

使用mongo go driver查找集合中的所有文档

在现有集合(mongodb)的所有文档中添加字段?

如何使用MongoDb .net驱动程序获取集合中所有文档的几个特定字段

使用MongoDB聚合删除集合中所有文档的特定字段

firestore 从集合中的所有文档中获取字段

mongo 中所有记录的较低字段

在集合的所有文档中添加字段-MongoDB

如何在同一集合中获取具有不同结构的 mongo 文档并根据公共字段匹配它们并返回自定义文档

如何获取DocumentDB文档中所有集合的列表?

如何汇总mongodB集合中所有文档的映射键?

获取集合和子文档中所有键的名称

获取 mongoose 集合中所有文档的长度

Java mongo数据库中所有集合的列表

MongoDb:查找具有特定字段的所有集合中的所有(子)文档

在 mongo 中更新集合文档时,在使用它的所有其他文档或集合中更新它

同一集合中的$ lookup是嵌套文档,而不是返回所有文档

Mongo / Spring Boot从集合中删除列表中的所有文档

使用Python中的嵌套列表理解从mongo集合中获取所有文档

如何删除 Firestore 中所有文档的字段

检查mongo中所有记录的字段类型

将_id作为单独的字段添加到源中,以作为索引中所有现有文档的字段

Angular/Firestore 集合文档查询将所有文档中的单个文档字段返回到数组中

Mongo / Express:如果未传递查询参数,如何返回集合中的所有文档?

使用mongoDB中的聚合为集合中的所有文档删除特定字段