【发布时间】:2017-11-19 14:53:07
【问题描述】:
我的actors 集合包含一个名为acted_in 的文档数组字段。而不是像这样返回acted_in.idmovies 的大小:{$size: $acted_in.idmovies},我想返回$acted_in.idmovies 中不同值的数量。我该怎么做?
c1 = actors.aggregate([{"$match": {'$and': [{'fname': f_name},
{'lname': l_name}]}},
{"$project": {'first_name': '$fname',
'last_name': '$lname',
'gender': '$gender',
'distinct_movies_played_in': {'$size': '$acted_in.idmovies'}}}])
【问题讨论】:
-
您可以将
$setDifference与[]一起使用,这将删除重复项。类似distinct_movies_played_in': {'$size': { $setDifference: [ '$acted_in.idmovies', []] }}