{username:'me', companies:{"yourcompany":{...}}
I want to insert a company into a user record (user collection), to make:
{username:'me', companies:{ "yourcompany":{...}, "mycompany":{...} }
But the name is dynamic..
var companyid = "mycompany";
.collection('users').findAndModify(
{username: usern},
[['_id', 'asc']],
{$set:{companies:{companyid: { desksmemberships:[] }}}},
{new: true}, function(){...}
Gives this.. {username:'me', companies:{ "yourcompany":{...}, "companyid":{...} }
How do I do this?
You'd have to build up your $set
modifier programmatically:
var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };
And then use modifier
as the third parameter in your findAndModify
call.
You may also want to consider changing companies
to be an array instead of an embedded object.