public function testReplaceDocument() { $user = new My_ShantyMongo_User(); $user->email = '*****@*****.**'; $user->sex = 'F'; $user->name->first = 'Madeline'; $user->name->last = 'Veenstra'; $user->save(); //Test original document is as expected. $userId = $user->getId(); $userRow = $this->_userCollection->findOne(array('_id' => new MongoId($userId->__toString()))); $this->assertEquals('*****@*****.**', $userRow['email']); $replacementUser = new My_ShantyMongo_User(); $replacementUser->setId($userId); $replacementUser->email = '*****@*****.**'; $replacementUser->sex = 'M'; $replacementUser->name->first = 'Dave'; $replacementUser->name->last = 'Smithers'; $replacementUser->save(); //Test replaced document is as expected. $userReplacementDoc = $this->_userCollection->findOne(array('_id' => new MongoId($userId->__toString()))); $this->assertEquals('*****@*****.**', $userReplacementDoc['email']); }