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