《mongodb aggregation $addToSet》要点:
本文介绍了mongodb aggregation $addToSet,希望对您有用。如果有疑问,可以联系我们。
《mongodb aggregation $addToSet》是否对您有启发,欢迎查看更多与《mongodb aggregation $addToSet》相关教程,学精学透。内存溢出PHP学院为您提供精彩教程。
上篇文章学习了$unwind,作用是用来拆分成多条数据的,今天学的$addToSet是将多条数据合并成一条.
我们看具体怎么使用
首先准备一批销售数据
{
"_ID": 1,
"item": "abc",
"price": 10,
"quantity": 2,
"date": ISODate("2014-01-01T08:00:00Z")
}
{
"_ID": 2,
"item": "jkl",
"price": 20,
"quantity": 1,
"date": ISODate("2014-02-03T09:00:00Z")
}
{
"_ID": 3,
"item": "xyz",
"price": 5,
"quantity": 5,
"date": ISODate("2014-02-03T09:05:00Z")
}
{
"_ID": 4,
"quantity": 10,
"date": ISODate("2014-02-15T08:00:00Z")
}
{
"_ID": 5,
"date": ISODate("2014-02-15T09:12:00Z")
}
然后我们想要按每年的天数来统计item的数量
首先要使用日期函数dayOfYear和year来分组
然后用addToSet将多个item合并
db.sales.aggregate(
[
{
$group:
{
_ID: { day: { $dayOfYear: "$date"},year: { $year: "$date" } },
itemsSold: { $addToSet: "$item" }
}
}
]
)
最终结果如下:
{ "_ID" : { "day" : 46,"year" : 2014 },"itemsSold" : [ "xyz","abc" ] }
{ "_ID" : { "day" : 34,"jkl" ] }
{ "_ID" : { "day" : 1,"itemsSold" : [ "abc" ] }
总结以上是内存溢出为你收集整理的mongodb aggregation $addToSet全部内容,希望文章能够帮你解决mongodb aggregation $addToSet所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)