我使用mongodb作为我的博客平台,用户可以在这里创建自己的博客.所有博客的所有条目都在条目集合中.条目的文档如下所示:
{
'blog_id':xxx,
'timestamp':xxx,
'title':xxx,
'content':xxx
}
正如问题所说,有没有办法 for each 博客 Select ,比如最后3条?
我使用mongodb作为我的博客平台,用户可以在这里创建自己的博客.所有博客的所有条目都在条目集合中.条目的文档如下所示:
{
'blog_id':xxx,
'timestamp':xxx,
'title':xxx,
'content':xxx
}
正如问题所说,有没有办法 for each 博客 Select ,比如最后3条?
如果你能接受两件事,那么在基本mongo中实现这一点的唯一方法是:
如果是这样的话,你可以这样做:
在创建一个新的介绍后,进行正常的插入,然后执行此更新以增加所有帖子(包括您刚刚为本博客插入的帖子)的年龄:
db.条目.更新({blog_id:blog_id},{age:{$inc:1}},false,true)
查询时,使用以下查询,将返回每个博客最近的3个条目:
db.条目.查找({age:{$lte:3},时间戳:{$gte:STARTOFMONTH,$lt:ENDOFMONTH}).排序({blog_id:1,age:1})
请注意,这个解决方案实际上是并发安全的(没有重复期限的条目).