/** * Returns a value indicating whether the given active record is the same as the current one. * The comparison is made by comparing the collection names and the primary key values of the two active records. * If one of the records [[isNewRecord|is new]] they are also considered not equal. * @param ActiveRecord $record record to compare to * @return boolean whether the two active records refer to the same row in the same Mongo collection. */ public function equals($record) { if ($this->isNewRecord || $record->isNewRecord) { return false; } return $this->collectionName() === $record->collectionName() && (string) $this->getPrimaryKey() === (string) $record->getPrimaryKey(); }