Mongoose Populate - 效率

Posted

技术标签:

【中文标题】Mongoose Populate - 效率【英文标题】:Mongoose Populate - Effeciency 【发布时间】:2012-07-06 00:03:01 【问题描述】:

我有一个 Product 模型,它引用了 Category 模型,下面的代码工作正常,但想知道这是否是最好的方法。

server.get "/:id/edit", (req, res) ->
    Category.find()
    .sort("position", 1)
    .exec (err, categories) ->
      if not err
        Product.findOne(_id: req.params.id )
        .populate("categories")
        .exec (err, data) ->
          if err
            res.json err
          else
            res.render "#view_path/products/edit",
              title: "Edit Product"
              user: req.session.user
              product: data
              categories: categories

【问题讨论】:

【参考方案1】:

使用填充的有用程度在很大程度上取决于您的Category 模型的复杂程度以及您在Product 模型相关页面上使用它的目的。

一般来说,类别是嵌入到您的产品中的一个很好的例子,因为它们不会经常更改,并且会一直与产品一起被拉动。

您可能会发现this question 很有趣。关于引用或嵌入的用例总是有很多持续的讨论。

【讨论】:

以上是关于Mongoose Populate - 效率的主要内容,如果未能解决你的问题,请参考以下文章

mongoose.populate() 未显示填充内容

Mongoose .populate 随机

猫鼬自己填充自定义查询

Mongoose .populate() 不填充

19-3-18 mongoose 连表查询populate用法

Model.populate() 不是 Mongoose 中的返回文档