Вставлять:
var data = { };
data['friends.' + id] = {
state: 0
};
collection.update({
_id: owner
}, {
$set: data,
$addToSet: {
friend_ids: id
}
});
Обновлять стейт:
var data = { };
data['friends.' + id + '.state'] = 0;
collection.update({
_id: owner
}, {
$set: data
});
Если используешь node 4+ то там есть computed properties, часть ecma6, и можно просто так:
collection.update({
_id: owner
}, {
$set: {
['friends.' + id + '.state']: 0
}
});