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(){...});