Deep Sleep NodeMCU with Door Sensor
According to this guide:


  The RST pin of the ESP8266 is always HIGH while the ESP8266 is
  running. However, when the RST pin receives a LOW signal, it restarts
  the microcontroller.
  
  If you set a Deep Sleep timer with the ESP8266, once the timer ends,
  GPIO 16 sends a LOW signal. That means that GPIO 16 when connected to
  RST pin can wake up the ESP8266 every time the timer ends.


The only way to wakes up ESP8266 from deep sleep mode without timer is set a LOW signal on RST pin.

Example without timer:

ESP.deepSleep(0); 


Connect D0 (GPIO 16) to RST is available only when ESP8266 is in sleep mode with timer.

Example with 30sec timer:

ESP.deepSleep(30e6); 


In your case, you can use deep sleep with timer and connect Door sensor to D0 and will act as switch between the RST and D0.