Mongodb查找以获取单个元素而不是对象

时间:2019-03-02 01:12:33

标签: javascript html node.js database mongodb

我的收藏集:

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"

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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