Mongodb:为每个作者ID查找一篇文章

时间:2018-06-23 18:21:02

标签: mongodb

我有一个用户,他跟随着一系列作者,像这样:

"authors" : [
    ObjectId("5a66d368486631e55a4ed05c"), 
    ObjectId("5a6765f5486631e55a564ae2")
]

我有带有作者ID的文章,例如:

"authorId" : ObjectId("5a66d368486631e55a4ed05c"), 

我想为每个作者获取最后一篇文章,而无需递归地多次调用数据库。

一些想法?

PD:我正在使用mongodb驱动程序,我不想为此使用mongoose,谢谢

1 个答案:

答案 0 :(得分:1)

在MongoDB v 3.6中,您可以为$lookup运算符使用自定义管道。在您的情况下,您可以在$match阶段使用$in来获取匹配的文章,然后按authorId的{​​{3}}来获取最后的文章(使用$sort和{ {1}}个运算符)。您可以添加$group以从$last集合中获取初始形状。

articles