mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-20 19:08:54 +00:00

-- Provided by anonymous #33371 git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@331337 c90b9560-bf6c-de11-be94-00142212c4b1
254 lines
6.8 KiB
XML
254 lines
6.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<chapter xml:id="mongo.sqltomongo" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>SQL to Mongo Mapping Chart</title>
|
|
<para>
|
|
This is a PHP-specific version of the
|
|
<link xlink:href="&url.mongodb.dochub.sqltomongo;">SQL to Mongo</link>
|
|
mapping chart in the main docs.
|
|
</para>
|
|
<para>
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>SQL Statement</entry>
|
|
<entry>Mongo Query Language Statement</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<literal>CREATE TABLE USERS (a Number, b Number)</literal>
|
|
</entry>
|
|
<entry>
|
|
Implicit or use <function>MongoDB::createCollection</function>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>INSERT INTO USERS VALUES(1,1)</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->insert(array("a" => 1, "b" => 1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT a,b FROM users</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array(), array("a" => 1, "b" => 1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE age=33</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => 33));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT a,b FROM users WHERE age=33</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => 33), array("a" => 1, "b" => 1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT a,b FROM users WHERE age=33 ORDER BY name</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE age>33</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => array('$gt' => 33)));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE age<33</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => array('$lt' => 33)));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE name LIKE "%Joe%"</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("name" => new MongoRegex("/Joe/")));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE name LIKE "Joe%"</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("name" => new MongoRegex("/^Joe/")));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE age>33 AND age<=40</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users ORDER BY name DESC</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find()->sort(array("name" => -1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>CREATE INDEX myindexname ON users(name)</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->ensureIndex(array("name" => 1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>CREATE INDEX myindexname ON users(name,ts DESC)</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->ensureIndex(array("name" => 1, "ts" => -1));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE a=1 and b='q'</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("a" => 1, "b" => "q"));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users LIMIT 20, 10</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find()->limit(10)->skip(20);</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users WHERE a=1 or b=2</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT * FROM users LIMIT 1</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find()->limit(1);</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>EXPLAIN SELECT * FROM users WHERE z=3</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("z" => 3))->explain()</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT DISTINCT last_name FROM users</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->command(array("distinct" => "users", "key" => "last_name"));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT COUNT(*y) FROM users</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->count();</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT COUNT(*y) FROM users where AGE > 30</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => array('$gt' => 30)))->count();</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>SELECT COUNT(AGE) from users</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->find(array("age" => array('$exists' => true)))->count();</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>UPDATE users SET a=1 WHERE b='q'</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>UPDATE users SET a=a+2 WHERE b='q'</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<literal>DELETE FROM users WHERE z="abc"</literal>
|
|
</entry>
|
|
<entry>
|
|
<literal>$db->users->remove(array("z" => "abc"));</literal>
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</chapter>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|