Вообще, в таких вопросах нужно указывать фреймворк, или говорить, что на чистом Node.js. Потому, как в каждом фреймворке есть конечно готовый рабочий вариант, выглядящий в одну строку, например вот так:
https://github.com/tshemsedinov/impress/blob/maste... и форма, которая в него постает:
https://github.com/tshemsedinov/impress/blob/maste... Но на каждом же код будет разный, а реализацию на чистой Node.js можно всегда найти в недрах фреймворка, например:
https://github.com/tshemsedinov/impress/blob/maste...