Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $server = 'mongodb://localhost:27017';
- $dbName = 'pizza_shack';
- $collName = 'client';
- $mongo = new \Mongo($server);
- $db = $mongo->selectDb($dbName);
- $collection = $db->selectCollection($collName);
- //Insert
- $collection->insert(array(
- 'name' => 'Tânia Soares',
- 'gender' => 'F',
- 'age' => 50,
- 'score' => 1
- ));
- $collection->insert(array(
- 'name' => 'José Dias',
- 'gender' => 'M',
- 'age' => 80,
- 'score' => 7,
- 'pizzas_preferred' => array(
- array(
- 'name' => 'Diavola',
- 'score' => 8
- ), array(
- 'name' => 'American',
- 'score' => 5
- )
- )
- ));
- $collection->insert(array(
- 'name' => 'Maria Lopes',
- 'gender' => 'F',
- 'age' => 40,
- 'score' => 9,
- 'stats' => array(
- 'last_pizza_eaten' => 'Carbonara',
- 'when' => new DateTime('2012-06-25 12:52:00')
- )
- ));
- $collection->insert(array(
- 'name' => 'Paulo José',
- 'gender' => 'M',
- 'age' => 15,
- 'score' => 10,
- 'pizzas_preferred' => array(
- array(
- 'name' => 'Carbonara',
- 'score' => 10
- ), array(
- 'name' => 'All Seasons',
- 'score' => 6
- )
- ),
- 'stats' => array(
- 'last_pizza_eaten' => 'American',
- 'when' => new DateTime('2012-11-15 01:35:00')
- )
- ));
- $collection->insert(array(
- 'name' => 'Joana Trindade',
- 'gender' => 'F',
- 'age' => 34,
- 'score' => 10,
- 'pizzas_preferred' => array(
- array(
- 'name' => 'Diavola',
- 'score' => 6
- ), array(
- 'name' =>'Carbonara',
- 'score' =>9
- )
- )
- ));
- $collection->insert(array(
- 'name' => 'João Silva',
- 'gender' => 'M',
- 'age' => 38,
- 'score' => 5,
- 'stats' => array(
- 'last_pizza_eaten' => 'Cheese Ham',
- 'when' => new DateTime('2013-01-02 13:20:00')
- )
- ));
- $collection->insert(array(
- 'name' => 'Cristina Moreira',
- 'gender' => 'F',
- 'age' => 70,
- 'score' => 4,
- 'pizzas_preferred' => array(
- array(
- 'name' => 'Carbonara',
- 'score' => 8
- ), array(
- 'name' => 'Cheese Ham',
- 'score' => 5
- ), array(
- 'name' => 'American',
- 'score' => 9
- )
- )
- ));
- $collection->insert(array(
- 'name' => 'Jorge Martins',
- 'gender' => 'M',
- 'age' => 55,
- 'score' => 10,
- 'pizzas_preferred' => array(
- array(
- 'name' => 'Carbonara',
- 'score' => 10
- ), array(
- 'name' => 'Cheese Ham',
- 'score' => 8
- )
- ),
- 'stats' => array(
- 'last_pizza_eaten' => 'Cheese Ham',
- 'when' => new DateTime('2011-06-30 20:23:00')
- )
- ));
- //Query
- $result = $collection->find(array(
- 'stats.last_pizza_eaten' => array('$exists' => true)
- ));
- $result = $collection->find(array(
- 'age' => array('$gt' => 30, '$lt' => 100)
- ));
- $result = $collection->find(array(
- 'age' => array(38, 55)
- ));
- $result = $collection->find(array(
- '$or' => array(
- array('age' => array('$gt' => 40)),
- array('score' => array('$gt' => 8))
- )
- ));
- $result = $collection->find(array(
- 'gender' => array('$ne' => 'F'),
- '$or' => array(
- array('age' => array('$gt' => 40)),
- array('score' => array('$gt' => 8))
- )
- ));
- $result = $collection->find(array(
- 'name' => new MongoRegex('/^José/')
- ));
- $result = $collection->find(array(
- 'pizzas_preferred.name' => array(
- '$in' => array(new MongoRegex('/diavola/i'))
- )
- ));
- $result = $collection->find(array(
- 'stats.last_pizza_eaten' => array(
- new MongoRegex('/carbonara/i')
- )
- ));
- /* Needs a real id to be used
- $result = $collection->find(array(
- '_id' => new MongoId('<DOCUMENT_ID>')
- ));
- $result = $collection->find(array(
- '_id' => new MongoId('<DOCUMENT_ID>')
- ), array(
- 'name' => 1
- ));
- */
- $result = $collection->find(array(
- 'name' => new MongoRegex('/José/')
- ));
- $result = $collection->find(array(
- 'pizzas_preferred.name' => 'Diavola'
- ));
- $result = $collection->find(array(
- 'stats.last_pizza_eaten' => new MongoRegex('/carbonara/i'),
- 'stats.when' => array('$lte' => new DateTime())
- ));
- $result->sort(array('stats.when' => -1))->limit(1);
- $result = $collection->find(array(
- 'age' => array('$gt' => 50),
- 'stats.last_pizza_eaten' => array('$exists' => true)
- ));
- $result = $collection->find(array(
- 'score' => array('$lte' => 5)
- ));
- $result = $collection->find(array(
- 'pizzas_preferred' => array('$exists' => true, '$ne' => array())
- ));
- $result = $collection->find(array(
- 'age' => array('$in' => array(80, 70))
- ));
- $result->count(); //Total cursor document count
- $result->skip(2); //Skip the 2 first documents
- $result->limit(3); //Show only 2 documents
- $result->skip(2)->count(true); //Gives the total document count taking into account the skip value
- //Update
- $collection->update(array(
- 'name' => 'José Dias'
- ), array(
- 'age' => 85
- ));
- $collection->update(array(
- 'name' => array('$exists' => false)
- ), array(
- 'name' => 'José Dias',
- 'gender' => 'M',
- 'age' => 80,
- 'score' => 7,
- 'pizzas_preferred' => array(
- array(
- 'name' => 'Diavola',
- 'score' => 8
- ), array(
- 'name' => 'American',
- 'score' => 5
- )
- )
- ));
- $collection->update(array(
- 'name' => 'José Dias'
- ), array(
- 'age' => array('$set' => 85)
- ));
- $collection->update(array(
- 'pizzas_preferred' => array('$exists' => true)
- ), array(
- '$inc' => array('score' => 1)
- ), array(
- 'multiple' => true
- ));
- $collection->update(array(
- 'pizzas_preferred.score' => array('$gt' => 8)
- ), array(
- '$set' => array('prize_winner' => true)
- ), array(
- 'multiple' => true
- ));
- $collection->update(array(
- '$or' => array(
- array('name' => 'José Dias'),
- array('pizzas_preferred .score' => array('$gt' => 8))
- )
- ), array(
- '$set' => array('prize_winner' => true)
- ), array(
- 'multiple' => true
- ));
- /*
- $collection->update(array(
- '_id' => new MongoId('<DOCUMENT_ID>')
- ), array(
- '$unset' => array('pizzas_preferred' => true),
- '$inc' => array('score' => -1)
- ));
- */
- $collection->update(array(
- 'pizzas_preferred.name' => 'Diavola'
- ), array(
- '$unset' => array('pizzas_preferred' => true)
- ), array(
- 'multiple' => true
- ));
- $collection->update(array(), array(
- '$push' => array(
- 'pizzas_preferred' => array(
- 'name' => '4 Cheese',
- 'score' => 10
- )
- )
- ));
- $collection->update(array(
- 'name' => 'Paulo José',
- 'pizzas_preferred.name' => 'Carbonara'
- ), array(
- '$set' => array(
- 'pizzas_preferred.$.score' => 5
- )
- ));
- $collection->update(array(
- 'prize_winner' => array('$exists' => true)
- ), array(
- '$unset' => array('prize_winner' => true)
- ));
- $collection->update(array(
- 'name' => 'Tânia Soares'
- ), array(
- '$set' => array(
- 'stats' => array(
- 'last_pizza_eaten' => 'Carbonara',
- 'when' => new DateTime('2013-01-10 18:00:00')
- )
- )
- ));
- //Remove
- $collection->remove(array(
- 'stats.last_pizza_eaten' => array(
- '$exists' => false
- )
- ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement