Vous auriez à construire votre $set modificateur par programmation :
var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };
Et puis utilisez modifier comme troisième paramètre dans votre findAndModify appeler.
Vous pouvez également envisager de changer de companies être un tableau au lieu d'un objet incorporé.
Mise à jour Node.js 4.x
Vous pouvez maintenant utiliser la syntaxe de la propriété calculée pour le faire directement dans le littéral d'objet :
collection('users').findAndModify(
{username: usern},
[['_id', 'asc']],
{$set:{['companies.' + companyid]: { desksmemberships:[] }}},
{new: true},
function(){...});