Database
db={energyOffers:[{_id:1,assignees:{id:["a","b"]},declinedEntities:[7],offerValidTill:ISODate("2022-10-26T10:00:00.000Z")},{_id:2,assignees:{id:["c","d"]},declinedEntities:[9,12,8],offerValidTill:ISODate("2022-10-27T10:00:00.000Z")},{_id:3,assignees:{id:["p","b"]},declinedEntities:[15],offerValidTill:ISODate("2022-10-28T10:00:00.000Z")},],energyOfferLogs:[{"_id":ObjectId("5a934e000102030405000001"),entityID:"b",offer:{offerID:7,action:null,action_date:null,action_user:null,action_user_id:null}},{"_id":ObjectId("5a934e000102030405000002"),entityID:"b",offer:{offerID:1,action:null,action_date:null,action_user:null,action_user_id:null}},{"_id":ObjectId("5a934e000102030405000003"),entityID:"b",offer:{offerID:3}},{"_id":ObjectId("5a934e000102030405000004"),entityID:"a",offer:{offerID:1}},]}
Query
db.energyOffers.aggregate([{$match:{"assignees.id":"b",declinedEntities:{$ne:8},offerValidTill:{$gt:ISODate("2022-09-28T10:00:00.000Z")}}},{$lookup:{from:"energyOfferLogs",let:{offerId:"$_id"},pipeline:[{$match:{$and:[{entityID:"b"},{$expr:{$eq:["$offer.offerID","$$offerId"]}}]}}],as:"energyOfferLogs"}},{$project:{energyOfferLogs:{$first:"$energyOfferLogs"}}},{$replaceRoot:{newRoot:"$energyOfferLogs"}},{$set:{"offer.action":"declined","offer.action_date":ISODate("2022-09-26T10:00:00.000Z"),"offer.action_user":"aaa","offer.action_user_id":67655}},{$merge:{into:"$energyOfferLogs"}}])