public function getPropertyKeys()
{
$keyList = array();
$doNoCount = array();
foreach ($this->_data as $property => $value) {
if ($value instanceof Shanty_Mongo_Document && !$value->isEmpty() || !$value instanceof Shanty_Mongo_Document && !is_null($value)) {
$keyList[] = $property;
} else {
$doNoCount[] = $property;
}
}
foreach ($this->_cleanData as $property => $value) {
if (in_array($property, $keyList, true) || in_array($property, $doNoCount, true)) {
continue;
}
if (!is_null($value)) {
$keyList[] = $property;
}
}
return $keyList;
}