Mongo聚合然后由外部表查询

时间:2019-04-10 22:23:39

标签: javascript mongodb mongoose

我有一个用户表和一个文章表。在商品表中,有一个userId字段和created_at字段。我正在尝试将文章与用户联系起来,并按创建的月份(或不同的时间范围)进行过滤。我正在使用mongo 2.6,而mongoose是javascript中表示的库。目前,此操作未返回任何结果。如何获取结果?

我当前的代码:

export async function seedArticles(ctx) {

  const isoFromTimestamp = new Date(new Date('2016-1-1').toISOString());
  const isoToTimestamp = new Date(new Date('2019-04-11').toISOString());

  const data = await User.aggregate([
    {
      $lookup:
        {
          from: "articles",
          localField: "_id",
          foreignField: "userId",
          as: "user_articles"
        }
      },
      {
        $match: { "user_articles.created_at": { 
          "$gte": isoFromTimestamp,
          "$lte": isoToTimestamp
        }}
      },
    ])

    ctx.body = {
      data
    }
}

0 个答案:

没有答案