Ще трябва да изградите своя $set
модификатор програмно:
var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };
И след това използвайте modifier
като трети параметър във вашия findAndModify
обадете се.
Може също да помислите за промяна на companies
да бъде масив вместо вграден обект.
Актуализация на Node.js 4.x
Вече можете да използвате синтаксиса на изчисленото свойство, за да направите това директно в обектния литерал:
collection('users').findAndModify(
{username: usern},
[['_id', 'asc']],
{$set:{['companies.' + companyid]: { desksmemberships:[] }}},
{new: true},
function(){...});