【问题标题】:Mongodb lookup to get single element instead of objectMongodb查找以获取单个元素而不是对象
【发布时间】:2019-07-24 01:25:06
【问题描述】:

我的收藏:

groups : [{_id: 001, name: ABC, type: a}, {_id: 002, name: DEF, type: b}]

我正在执行以下编码以在 mongodb 中获取结果:

  .aggregate([
  {
    $lookup: {
      from: 'groups',
      localField: 'groupId',
      foreignField: '_id',
      as: 'groupName'
    }
  },
  {
    $unwind: {
      path: '$groupName',
      preserveNullAndEmptyArrays: true
    }
  },
  {
    $project: 
      groupName: {
        name: 1
      }
   }

我从上面的编码得到的结果是:

groupName: Object { name: "ABC" }

但我不希望 ABC 成为一个对象。 我希望我的结果是单个元素:

groupName: "ABC"

知道怎么做吗?

【问题讨论】:

    标签: javascript html node.js database mongodb


    【解决方案1】:

    使用$project 可以达到预期的效果。

      .aggregate([
      {
        $lookup: {
          from: 'groups',
          localField: 'groupId',
          foreignField: '_id',
          as: 'groupName'
        }
      },
      {
        $unwind: {
          path: '$groupName',
          preserveNullAndEmptyArrays: true
        }
      },
      {
        $project: 
          {groupName: "$groupName.name"}
       }
    

    【讨论】:

      猜你喜欢
      • 2019-04-18
      • 2021-12-11
      • 2017-09-01
      • 2015-12-17
      • 2021-10-28
      • 1970-01-01
      • 2023-03-24
      • 2019-09-20
      • 1970-01-01
      相关资源
      最近更新 更多