The legacy wiki pages are here for reference purposes only.
For up-to-date information make sure to check the documentation section.

Even experienced Umbraco developers may be confused about the difference between the Node class and the Document class.

Both Nodes and Documents can be fetched using an ID and they both also have the GetProperties method.

Document document = new Document(id); documentProperty = document.getProperty("propertyName");

Node node = new Node(id);

umbraco.presentation.nodeFactory.Property nodeProperty = node.GetProperty("propertyName");

The real difference between these examples is the data that is being fetched. When you fetch a property using a Document you get the data which is stored inside the database. When you fetch a property using a Node you only get the data which has been published and cached (and stored inside the umbraco.config file). For this reason, Document should be used when it is necessary to modify the data, whereas Node should be used when data simply needs to be retrieved in a read-only fashion.


Document document = 
new Document(Convert.ToInt32(HttpContext.Current.Request.QueryString["id"]));


Node node = 
Node.GetCurrent(); is the community mothership for Umbraco, the open source cms. With a friendly forum for all your questions, a comprehensive documentation and a ton of packages from the community. This site is running Umbraco version 7.5.2