Read the target value
        Use $project aggregate operator in order to support nested objects

def read(self):
        """
        Read the target value
        Use $project aggregate operator in order to support nested objects
        """
        result = self.get_collection().aggregate([
            {'$match': {'_id': self._document_id}},
            {'$project': {'_value': '$' + self._path, '_id': False}}
        ])

        for doc in result:
            if '_value' not in doc:
                break

            return doc['_value']