填充所有对象数组

populate all array of objects

我有一个 concerts 的架构,我正在使用 reviews 使用虚拟填充 returns 一组评论来填充它。现在,在每次审查时,我都必须再次将 customerId 填充到它的 nameavatar.

这是我的代码

const populateReviews = await Concert.findById(id).populate({
    path: "reviews",
    options: {
      sort: { rating: -1, updatedAt: -1 },
    },
  });
const populateCustomers = await Customer.populate(populateReviews, {
  path: "reviews.customerId",
  options: {
    select: { name: 1, avatar: 1 },
  },
});

这是上面代码的输出。

我必须填充 customerId。请帮我解决这个问题。

跨多个级别填充会对您有所帮助

Concert
 .findById(id)
 .populate({
    path: "reviews",
    options: {
      sort: { rating: -1, updatedAt: -1 },
      },
    populate : {
    path : 'customerId',
    options: {
       select: { name: 1, avatar: 1 },
      },
     }
  })
 .exec(function (err, res) {

 })