【问题标题】:how to use $elemMatch in populate function如何在填充函数中使用 $elemMatch
【发布时间】:2020-12-15 00:08:11
【问题描述】:

嗨,我如何在填充中使用 elemMatch?

picture.findById(pictureId).populate(
{
        path: 'comments',
        $elemMatch: { "likes": user.id },
        populate: {
            path: "user",
            select: ["username", "thumbnail"]
        }
    }
)

我尝试了这个,但不工作

【问题讨论】:

  • 你知道populate 是在应用程序端执行的猫鼬函数,$elemMatch 是在数据库端执行的查询运算符,不是吗?您希望它如何工作?
  • @AlexBlex 我如何将它们一起使用?
  • 对不起,如果我的评论不够清楚。让我换个说法 - 你不能一起使用它们,我在问你想通过这种尝试来实现什么。

标签: mongodb mongoose mongodb-query mongoose-schema mongoose-populate


【解决方案1】:

使用匹配而不是 $elemMatch

https://mongoosejs.com/docs/api.html#query_Query-populate

picture.findById(pictureId).populate(
{
        path: 'comments',
        match: { "likes": user.id },
        populate: {
            path: "user",
            select: ["username", "thumbnail"]
        }
    }
)

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2018-12-20
    • 2021-10-04
    • 2022-01-12
    • 1970-01-01
    相关资源
    最近更新 更多