gpt4 book ai didi

mongodb - 在 mongoDB 中分组给出了奇怪的结果

转载 作者:可可西里 更新时间:2023-11-01 09:39:13 25 4
gpt4 key购买 nike

我有多个这样的文件:

{
"IMDBURL":"http:\/\/us.imdb.com\/M\/title- exact?Schrei%20aus%20Stein%20(1991)",
"release_date":"08-Mar-1996",
"ratings":[{"user_id":916,"rating":3,"timestamp":"880845755"}],
"genre":["Drama","Thriller"],
"video":"","title":"Scream of Stone (Schrei aus Stein) (1991)"
}

并且我尝试显示电影的标题及其所属类型的数量。

目前我是这样做的

db.bigdata.aggregate(
{$unwind:"$genre"},
{$group: {_id:"$title",genres: {$sum:"$genre"}}}
)

我收到了这个回复

 {"_id" : "Sunchaser, The (1996)", "genres" : 0 }
{ "_id" : "Kika (1993)", "genres" : 0 }

有人可以告诉我我做错了什么吗?

最佳答案

来自 mongodb $sum文档:

{ $sum : <field> }  Numeric                     Sum of Values
{ $sum : <field> } Numeric and Non-Numeric Sum of Numeric Values
{ $sum : <field> } Non-Numeric or Non-Existent 0

如您所见,第三种情况清楚地表明 - 非数字字段的总和将为您提供 0 作为结果。如果你想取回所有流派的集合,那么你应该使用 $addToSet .如果你想统计流派的数量,你应该使用

{$group: {_id:"$title", genres: {$sum:1}}}

并且不需要为此展开和分组(除非您有重复的流派)- 简单的 $size 将在投影运算符中执行相同的操作。

关于mongodb - 在 mongoDB 中分组给出了奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42005986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com