आपको अपना $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(){...});