【问题标题】:Deep Population of an object that belongs to a Schema that is a value of an object in an array in Mongoose.属于 Schema 的对象的深度填充,它是 Mongoose 中数组中对象的值。
【发布时间】:2018-10-03 10:48:44
【问题描述】:

我有以下架构:

 const userSchema = new Schema({
    name: String,
    favoriteStreams: [
        {
            stream: {
              type: Schema.Types.ObjectId,
              ref: "Stream",
              unique: true
            },
            param: Number
        }
    ]
});

我终其一生都无法弄清楚如何填充每个流。这段代码以及我尝试过的许多变体都不起作用。

User.findOne({_id: req.user._id})
       .populate({path: "favoriteStreams", populate: {path: "stream", model:"Stream"}})

增加的分离程度让我感到很困难。我将如何获得每个流属性?

【问题讨论】:

    标签: mongodb express mongoose populate


    【解决方案1】:

    这个呢:

    User.findOne({_id: req.user._id})
    .populate(path: "favoriteStreams.stream")
    

    【讨论】:

    • 哈哈。我复制了你的代码去测试它,并且已经有了与我测试的最后一个东西完全相同的代码。除了对象周围的大括号。我仍然尝试了你的,因为我想,“也许 Jay 有一些秘密的语法知识。”你做。我以前从你那里看到过。
    • 困难的是增加了一层嵌套。
    猜你喜欢
    • 2022-01-24
    • 2016-01-19
    • 2019-09-23
    • 2016-04-23
    • 2013-05-14
    • 1970-01-01
    • 2017-10-26
    • 2018-09-10
    • 1970-01-01
    相关资源
    最近更新 更多