This is a PHP-specific version of the » SQL to Mongo mapping chart in the main docs.
| SQL Statement | Mongo Query Language Statement | 
|---|---|
| CREATE TABLE USERS (a Number, b Number) | Implicit or use MongoDB::createCollection(). | 
| INSERT INTO USERS VALUES(1,1) | $db->users->insert(array("a" => 1, "b" => 1)); | 
| SELECT a,b FROM users | $db->users->find(array(), array("a" => 1, "b" => 1)); | 
| SELECT * FROM users WHERE age=33 | $db->users->find(array("age" => 33)); | 
| SELECT a,b FROM users WHERE age=33 | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1)); | 
| SELECT a,b FROM users WHERE age=33 ORDER BY name | $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1)); | 
| SELECT * FROM users WHERE age>33 | $db->users->find(array("age" => array('$gt' => 33))); | 
| SELECT * FROM users WHERE age<33 | $db->users->find(array("age" => array('$lt' => 33))); | 
| SELECT * FROM users WHERE name LIKE "%Joe%" | $db->users->find(array("name" => new MongoRegex("/Joe/"))); | 
| SELECT * FROM users WHERE name LIKE "Joe%" | $db->users->find(array("name" => new MongoRegex("/^Joe/"))); | 
| SELECT * FROM users WHERE age>33 AND age<=40 | $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40))); | 
| SELECT * FROM users ORDER BY name DESC | $db->users->find()->sort(array("name" => -1)); | 
| CREATE INDEX myindexname ON users(name) | $db->users->ensureIndex(array("name" => 1)); | 
| CREATE INDEX myindexname ON users(name,ts DESC) | $db->users->ensureIndex(array("name" => 1, "ts" => -1)); | 
| SELECT * FROM users WHERE a=1 and b='q' | $db->users->find(array("a" => 1, "b" => "q")); | 
| SELECT * FROM users LIMIT 20, 10 | $db->users->find()->limit(10)->skip(20); | 
| SELECT * FROM users WHERE a=1 or b=2 | $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2)))); | 
| SELECT * FROM users LIMIT 1 | $db->users->find()->limit(1); | 
| EXPLAIN SELECT * FROM users WHERE z=3 | $db->users->find(array("z" => 3))->explain() | 
| SELECT DISTINCT last_name FROM users | $db->command(array("distinct" => "users", "key" => "last_name")); | 
| SELECT COUNT(*y) FROM users | $db->users->count(); | 
| SELECT COUNT(*y) FROM users where AGE > 30 | $db->users->find(array("age" => array('$gt' => 30)))->count(); | 
| SELECT COUNT(AGE) from users | $db->users->find(array("age" => array('$exists' => true)))->count(); | 
| UPDATE users SET a=1 WHERE b='q' | $db->users->update(array("b" => "q"), array('$set' => array("a" => 1))); | 
| UPDATE users SET a=a+2 WHERE b='q' | $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2))); | 
| DELETE FROM users WHERE z="abc" | $db->users->remove(array("z" => "abc")); |