/** * @param \MongoDbCriteria|array|null $query * @return $this[] */ public function findAll($query = null) { if ($query instanceof MongoDbCriteria) { $query->setCollection($this->getCollection()); $documents = $query->buildCursor(); } else { if (is_array($query) && sizeof($query) > 0) { $q = isset($query['condition']) && isset($query['select']) ? $query['condition'] : $query; $s = isset($query['select']) ? $query['select'] : []; $documents = $this->getCollection()->find($q, $s); } else { $documents = $this->getCollection()->find(); } } $this->afterFind(); Yii::log("Mongo Query: <pre>" . var_export($query, true), CLogger::LEVEL_TRACE, 'mongo.MongoRecord::findAll()'); return $this->populateRecords($documents); }