Если модуль находится в node_modules, то он будет нормально загружаться через имя: require('database'), а Вы скорее всего сделали не модуль, а отдельный файл, который можно загружать не через имя, а через путь, require('/path/database.js') или через require('./database.js') из текущей папки. В некоторых системах находит и require('database.js') или require('./database') или require('/path/database.js'), но лучше писать require('./database.js') или делать полноценный модули в node_midules, который будет иметь свой корневой файл, указанный в своем package.json в параметре "main" и тогда его можно будет загружать по имени из любого места кода (любого каталога и любого js файла в проекте).