Python/mongoDB问题
我正在学习如何对mongoDB使用Python,并且很难理解为什么我无法返回Python/mongoDB问题,python,mongodb-query,Python,Mongodb Query,我正在学习如何对mongoDB使用Python,并且很难理解为什么我无法返回“$avg”聚合值。我有一个非常小的集合(总共9条记录),我似乎首先成功地使用了“$match”聚合函数来限制文档(似乎在管道的下游传递了3个文档)。但由于某些原因,“$avg”值未被计算 以下是我正在使用的代码: db.scores.aggregate( [ { "$match" : { "test" : "quiz1" } }, { "$group" : { "_id" : { "first" : "
“$avg”
聚合值。我有一个非常小的集合(总共9条记录),我似乎首先成功地使用了“$match”
聚合函数来限制文档(似乎在管道的下游传递了3个文档)。但由于某些原因,“$avg”
值未被计算
以下是我正在使用的代码:
db.scores.aggregate( [
{ "$match" : { "test" : "quiz1" } },
{ "$group" : { "_id" : { "first" : "$first", "last" : "$last", "score" : "$score" }, "avgScore" : { "$avg" : "$score" } } }
])
这是我收到的输出:
{u'ok': 1.0, u'result': [{u'_id': {u'score': u'88', u'last': u'Black', u'first': u'Tom'}, u'avgScore': 0.0},
{u'_id': {u'score': u'87', u'last': u'Jones', u'first': u'Mary'}, u'avgScore': 0.0},
{u'_id': {u'score': u'89', u'last': u'Smith', u'first': u'Jay'}, u'avgScore': 0.0}]}
我不明白为什么管道中的“$group”语句中的3条记录没有返回“$avg”
分数
如有任何想法/意见/建议,将不胜感激
谢谢
$avg
运算符处理数值,忽略非数值
返回从中得到的数值的平均值
将指定表达式应用于组中的每个文档
按键共享同一组的文档$avg忽略非数值
价值观
您的结果u'score':u'88'
表明score
字段的类型为String
。您需要将它们存储为数字