Category: Brukerveiledninger

Installere Mongo og Mongod

MongoDB er en dokumentbasert, såkalt nosql-database. Det vil si at data ikke lagres i tabeller og rader som i en relasjonell database, som f.eks. MySql, men i objekter, i MongoDBs tilfelle som bson-ojekter (bson = binær json). Dette gjør databasen spesielt egnet til objektorienterte programmeringsspråk, hvor man slipper å gå veien om en såkalt ORM (Object Relational Mapper). ORMs er kjent for å skalere dårlig, og MongoDB brukes spesielt innenfor det som kalles Big Data, bl.a. til å analysere loggfiler fra webservere. (mer…)

Gitt at en webserver og php allerede er installert, kan mongo instaleres via pecl, slik

# pecl install mongo

Hvis alt går som det skal, får du disse meldingene:

Build process completed successfully
Installing ‘/usr/lib/php/modules/mongo.so’
install ok: channel://pecl.php.net/mongo-1.0.4
You should add “extension=mongo.so” to php.ini

Neste skritt er å sette inn linjen extension=mongo.so i filen: php.ini

I en Ubuntu-installasjon med Apache2, finner vi php.ini her, og kan redigere den, f.eks. med vim:

# vim /etc/php5/apache2/php.ini

Restart Apache for å effektuere endringene, og mongodb er tilgjengelig fra php-skript.

 

 

 

 

Her er et enkelt php-skript som kobler seg til en Mongo-database og setter inn et par dokumenter i en samling og lister dem opp etterpå:

<?php
error_reporting(E_ALL);
ini_set(‘display_errors’, ‘1’);

header(“Content-type: text/plain”);

$connection = new Mongo();
$db = $connection->mydb;

$collection = $db->mycollection;
$myobj = array(“first_name” => “John”, “last_name” => “Doe”, “age” => 30);
$myobj2 = array(“first_name” => “Jane”, “last_name” => “Doe”, “age” => 27);
$collection->insert($myobj);
$collection->insert($myobj2);

$cursor = $collection->find();
foreach($cursor as $result)
{
echo “Name: ” . $result[“last_name”] . “, ” . $result[“first_name”] . “\n”;
echo “Age: ” . $result[“age”] . “\n\n”;
}

//$db->drop();
$connection->close();
?>