从mongodb集合中的每个字段获取不同的值

从mongodb集合中的每个字段获取不同的值,mongodb,mongodb-query,aggregation-framework,pymongo,Mongodb,Mongodb Query,Aggregation Framework,Pymongo,如何使用单个查询获取mongodb集合中所有字段的不同值 { "_id": "1", "Gender": "male", "car": "bmw" , "house":"2bhk" , "married_to": "kalpu"}, { "_id": "2",

如何使用单个查询获取mongodb集合中所有字段的不同值

{ "_id": "1", "Gender": "male", "car": "bmw" , "house":"2bhk" , "married_to": "kalpu"},
{ "_id": "2", "Gender": "female", "car": nan , "house":"3bhk", "married_to": "kalpu"},
{ "_id": "3", "Gender": "female", "car": "audi", "house":"1bhk", "married_to": "deepa"},
这是一个字段很少的示例,在我的实际集合中,每个文档至少有50个字段。那么,如何高效地查询将在每个字段中返回唯一值的数据呢?提前谢谢你的帮助

预期答复:

对于每个字段

  Gender:"male", "female"
  car   :"bmw", "audi",.....
  house : "3hbk","2bhk","1bhk"
  married_to: "kalpu","deepa",....
  ....
  ....
  ...
  

您可以将聚合管道
$group stage
$addToSet操作符一起使用

db.collection.aggregate([
  {
    $group: {
      _id: null,
      Gender: {
        "$addToSet": "$Gender"
      },
      car: {
        "$addToSet": "$car"
      },
      house: {
        "$addToSet": "$house"
      },
      married_to: {
        "$addToSet": "$married_to"
      },
      
    }
  }
]) 

嘿,这回答了你的问题吗?谢谢,是的,它起作用了,但是如何避免将“null”值视为不同的值。null值被视为相同的值