Whether using a darlington or not I wouldn't use the circuit you show - see below - your circuit alongside a better way to drive the LED: -
Looking at the right hand picture, the transistor is easily turned on to saturation by the GPIO output because the emitter is directly grounded with the LED and series current limiting resistor in the collector.
On your design, to switch on the transistor sufficiently you have to overcome the LED forward voltage (about 2V) before the base-emitter junction can start to conduct then, you need another 0.6 to 0.7V above that. If your GPIO is 3.3V then you'd get away with it but anything lower than 2.7V and you aint gonna get the brightness from the LED you think you should.
Another option is to use your circuit and reverse the position of current limiting resistor and LED - you won't need the base resistor for this either so it's a bit simpler. Now, the GPIO sets a voltage on the base (say 2.7V) leaving 2v across the newly placed emitter resistor - if that resistance is 100 ohm, the 2V will ensure that 20mA flows thru the LED in the collector and providing the collector voltage is about 4v or greater, 20mA will always flow - don't make collector voltage too high though as this will warm up the 2N3904 because it is now current regulating and (say) on a 12V supply it will be dropping 8v across it which means a power dissipation of 8 x 20mA = 0.16watts - not too bad but don't go much higher if no heatsinking is used.
The same applies when using a darlington except the transistor "imposes" about another 0.7V between collector and emitter when conducting meaning it will still work on a 5V supply but not much lower.