我正在尝试从我的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集合中。 谁能帮我解决我做错的事情?