Попробуйте заменить
.populate('tags').where('tags.tagName').in(['funny', 'politics'])
на
.populate( 'tags', null, { tagName: { $in: ['funny', 'politics'] } } )
Для извлечения publicIP, сохранения его в переменной и последующего обновления с ним двух файлов попробуйте использовать что-то вроде boto3 sdk для python, чтобы получить подробности PublicIP и использовать ansible для обновления двух файлов с этим IP.