【问题标题】:Replacement for $Set in mongoDB在 mongoDB 中替换 $Set
【发布时间】:2021-10-07 23:28:11
【问题描述】:

您好,我在调用 mongoDB 时遇到了小问题。 我在我的本地主机上使用 $set 功能,它工作得非常好,但是在生产环境中使用它后,我们收到错误,因为 mongoDB 版本是 4.0,我们无法升级数据库,所以我的问题是,在 4.0 版本中是否可以替换 $Set?我可以使用任何东西来实现相同的通话吗?

调用 mongo:

const templateList = await this.templatesModel.aggregate([
      {
        $facet: {
          data: [
            {
              $lookup:
              {
                from: 'extensions',
                localField: 'extensionName',
                foreignField: 'extension',
                as: 'extension',
              },
            },
            { $unwind: '$extension' },
            { $set: { bundleIds: '$extension.bundle' } },
            { $match: filter },
            { $skip: offset },
            { $limit: limit },
            {
              $project: {
                extensionName: 1,
                isDefault: 1,
                previewImage: 1,
                published: 1,
                title: 1,
                updated: 1,
              },
            },
          ],
          totalCount: [
            {
              $lookup:
              {
                from: 'extensions',
                localField: 'extensionName',
                foreignField: 'extension',
                as: 'extension',
              },
            },
            { $unwind: '$extension' },
            { $set: { bundleIds: '$extension.bundle' } },
            { $match: filter },
            { $count: 'count' },
          ],
        },
      },
    ]).exec();

【问题讨论】:

    标签: mongodb aggregate nestjs


    【解决方案1】:

    您可以将$set 替换为$addFields

    这两个阶段执行相同的任务,因为$set 只不过是$addFields 的别名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多