从猫鼬查询中获取价值

时间:2019-12-22 08:54:59

标签: node.js mongodb mongoose

我正在尝试从我的ref车辆获取我的Rental集合的坐标,该参考车辆具有带有存储了坐标的Places的参考的。 为此,我正在这样做:

exports.checkin = async function(req, res) {
  Rental.aggregate(
    [
      {
        $lookup: {
          from: 'Vehicles',
          localField: 'vehicle',
          foreignField: '_id',
          as: 'vehicle_data'
        }
      },
      { $unwind: '$veiculo' },
      {
        $lookup: {
          from: 'Places',
          localField: 'vehicle_data.place',
          foreignField: '_id',
          as: 'places_data'
        }
      },
      { $unwind: '$places_data' },
      {
        $project: {
          title: 1,
          places_data: '$places_data'
        }
      }
    ],
    async function(error, placeData) {
      if (error) {
        return await res.json(error);
      }
      let date = new Date();
      let price = 10;
      let rentalMethod = req.params.rentalMethod;
      let vehicle = mongoose.Types.ObjectId(req.params.id);
      console.log(placeData.places_data);
      console.log(placeData);
      let rental = new Rental({
        start: {
          date
        },
        price,
        vehicle,
        rentalMethod
      });

      rental.save(async function(error, rental) {
        if (error) {
          return await res.json(error);
        }
        return await res.json(rental);
      });
    }
  );
};

基本上我想做的是从那个大聚合中提取数据,获取坐标并将其传递到我的Rental集合中。 谁能帮我解决我做错的事情?

0 个答案:

没有答案