Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Это оказывается более прямым, если вы сначала не $unwind
оригиналы документов. $lookup
может искать прямо из массива «внешних ключей», и результатом будет уже массив, избегая необходимости иметь другие $unwind
и $group
после.
db.getCollection('Products').aggregate([
{ $lookup: {
from:"Offers",
localField:"SupplierOffers",
foreignField:"_id",
as:"Producttypes"
}}
])
При желании, если вы хотите преобразовать Producttypes, чтобы в нем просто было поле offerType, вы можете добавить { $addFields: {Producttypes: '$Producttypes.offeringType' } } }