如何在差异集合MongoDB中选择字段

时间:2016-12-15 18:20:22

标签: javascript mongodb mongodb-query

我的一个字段需要通过添加来自不同集合(must be)的分数来获得总分。每个玩家都有一个分数字段。我知道我可以得到每个球员的ids,但我怎么才能获得得分领域?

结构是这样的:

.
      y: Vector or matrix [n_samples] or [n_samples, n_outputs] containing the
         label values (class labels in classification, real numbers in
         regression) or dictionary of multiple vectors/matrices. Can be iterator
         that returns array of targets or dictionary of array of targets. If set,
         input_fn must be

1 个答案:

答案 0 :(得分:0)

这称为投影

你可以做一个简单的find({your search critieria}, {field projection})

例子是

db.players.find({},{score:1, _id:0})

这将只返回得分字段。就像这个

{ "score" : 30 }
{ "score" : 50 }

但更好的选择是使用聚合并直接计算得分

db.players.aggregate([ { 
    $group: { 
        _id: null, 
        total: { 
            $sum: "$score" 
        } 
    } 
} ] )

这将返回

{ "_id" : null, "total" : 80 }

你也可以通过简单地包含一个$ project阶段并将_id设置为0来摆脱输出中的ID。