Можете начать с C (лично мне он кажется проще), в случае необходимости перейдете на C++. Хотя на C множество крупных проектов например ядро linux. Мне кажется в Вашем случае разумно начать с C. Изучите самые озы, если изучение будет проходить успешно, можете переключится на С++, проблем не будет.
@TrueBers "вообще, лучше юзать библиотечную функцию и не костылить свои велосипеды", согласен, но моя цель была понять как это работает, не применить в реальной задаче.
Но если в целом, то не важно, в Mongo спокойно можно сохранять фотографии (как массив байт). До 16 мб даже без GridFS.