1) The aiNode struct is defined in the Assimp library. Here you can find it its definition on the official documentation:
Public Attributes
aiNode ** mChildren // The child nodes of this node.
unsigned int * mMeshes // The meshes of this node.
aiString mName // The name of the node.
unsigned int mNumChildren // The number of child nodes of this node.
unsigned int mNumMeshes // The number of meshes of this node.
aiNode * mParent // Parent node.
aiMatrix4x4 mTransformation // The transformation relative to the node's parent.
2) I don't know what is the difference between "your method" and recursive_render
, but looks like you are missing a lot of information (childs, etc). I'd have a closer look to recursive_render