Node.js 为收藏中的每个博主选择最新文章

Node.js 为收藏中的每个博主选择最新文章,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,假设我有3个博客。他们每个人都有很多帖子 我想为他们每个人选择最新的帖子 目前我有以下伪代码: Bloggers.find({name: {$in: ['John','Mike','Arny']}}, (err, bloggers) => { bloggers.forEach( blogger => { blogger.latest_post = Posts.find({author: blogger.name}).sort({date: -1}).limit

假设我有3个博客。他们每个人都有很多帖子

我想为他们每个人选择最新的帖子

目前我有以下伪代码:

Bloggers.find({name: {$in: ['John','Mike','Arny']}}, (err, bloggers) => {
    bloggers.forEach( blogger => {
        blogger.latest_post = Posts.find({author: blogger.name}).sort({date: -1}).limit(1);
    })
    displayItSomehow(bloggers);
})
在这里,博客作者的名字就是一个群体的名字。每个组都有很多文档,但根据某些标准,我只需要一个文档

博主收藏如下:

{name: 'John', id: 1},
{name: 'Mike', id: 2},
{name: 'Arny', id: 3}
John:     'Nowadays football became...'

Mike:     'The story of my neighbor starts when...'

Arny:     'Business and success are always were...'
职位收集:

{ title: 'title1', text: 'blablabla', date: 111, author: 1 },
{ title: 'Nowadays football became...', text: 'blablabla', date: 112, author: 1 },
{ title: 'title1', text: 'blablabla', date: 113, author: 2 },
{ title: 'The story of my neighbor starts when...', text: 'blablabla', date: 114, author: 2 },
{ title: 'title1', text: 'blablabla', date: 115, author: 3 },
{ title: 'title1', text: 'blablabla', date: 116, author: 3 },
{ title: 'Business and success are always were...', text: 'blablabla', date: 117, author: 3 }
结果应该是这样的:

{name: 'John', id: 1},
{name: 'Mike', id: 2},
{name: 'Arny', id: 3}
John:     'Nowadays football became...'

Mike:     'The story of my neighbor starts when...'

Arny:     'Business and success are always were...'
那么,我该如何在猫鼬身上解决我的问题呢?一个查询是否可行?

查询就是您要查找的:

Bloggers
    .find({name: {$in: ['John','Mike','Arny']}})
    .populate({
        path: 'posts',
        options: {
            limit: 1,
            sort: {date: -1}
        }
    })
    .exec((err, bloggers) => {
        displayItSomehow(bloggers);
    })
})
这里有一个链接,指向用于填充函数的配置对象的文档:

这只有在您相应地定义了
Bloggers
schema时才有效:

var bloggerSchema = Schema({
    _id     : Number,
    name    : String,
    // all your other fields...
    posts: [{ type: Schema.Types.ObjectId, ref: 'Post' }]
});

请将样本集添加到博客作者和帖子中