mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 00:48:54 +00:00
added sql-to-mongo chart
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@311013 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
c00fa073b3
commit
db9125f4d8
1 changed files with 261 additions and 0 deletions
261
reference/mongo/sqltomongo.xml
Normal file
261
reference/mongo/sqltomongo.xml
Normal file
|
@ -0,0 +1,261 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<section xml:id="mongo.configuration" xmlns="http://docbook.org/ns/docbook">
|
||||
<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>
|
||||
<table>
|
||||
<tgroup cols="3">
|
||||
<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</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 10 SKIP 20</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>
|
||||
</table>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<!-- 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
|
||||
-->
|
Loading…
Reference in a new issue