Będziesz musiał zbudować swój $set modyfikator programowo:
var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };
A następnie użyj modifier jako trzeci parametr w Twoim findAndModify zadzwoń.
Możesz także rozważyć zmianę companies być tablicą zamiast osadzonego obiektu.
Aktualizacja Node.js 4.x
Możesz teraz użyć składni obliczonej właściwości, aby zrobić to bezpośrednio w literale obiektu:
collection('users').findAndModify(
{username: usern},
[['_id', 'asc']],
{$set:{['companies.' + companyid]: { desksmemberships:[] }}},
{new: true},
function(){...});