Jesteś blisko; powinieneś używać notacji kropkowej podczas korzystania z $
zaktualizuj operatora, aby to zrobić:
Person.update({'items.id': 2}, {'$set': {
'items.$.name': 'updated item2',
'items.$.value': 'two updated'
}}, function(err) { ...