从mongodb集合中的每个字段获取不同的值
如何使用单个查询获取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",
{ "_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值被视为相同的值