mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 16:38:54 +00:00
updates for 1.0.11 release
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@305112 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
99231ac408
commit
7214d04a66
16 changed files with 693 additions and 45 deletions
|
@ -208,6 +208,12 @@ for ($i=0; $i<1000; $i++) {
|
|||
Most of the reasons that they are not recommended for relational databases
|
||||
are irrelevant to MongoDB.
|
||||
</para>
|
||||
<para>
|
||||
Persistent connections will become the default connection type in 1.0.12. To
|
||||
create a non-persistent connection, you will need to pass
|
||||
<literal>"persist" => false</literal> to
|
||||
<function>Mongo::__construct</function>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
|
|
@ -75,17 +75,23 @@ $db = $m->foo; // get the database named "foo"
|
|||
<varname>connected</varname>
|
||||
<initializer>&false;</initializer>
|
||||
</fieldsynopsis>
|
||||
<fieldsynopsis>
|
||||
<modifier>public</modifier>
|
||||
<type>string</type>
|
||||
<varname>status</varname>
|
||||
<initializer>&null;</initializer>
|
||||
</fieldsynopsis>
|
||||
<fieldsynopsis>
|
||||
<modifier>protected</modifier>
|
||||
<type>string</type>
|
||||
<varname>server</varname>
|
||||
<initializer>localhost:27017</initializer>
|
||||
<initializer>&null;</initializer>
|
||||
</fieldsynopsis>
|
||||
<fieldsynopsis>
|
||||
<modifier>protected</modifier>
|
||||
<type>boolean</type>
|
||||
<varname>persistent</varname>
|
||||
<initializer>&false;</initializer>
|
||||
<initializer>&null;</initializer>
|
||||
</fieldsynopsis>
|
||||
|
||||
|
||||
|
@ -133,6 +139,22 @@ $db = $m->foo; // get the database named "foo"
|
|||
</section>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Fields</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>status</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
If this is a persistent connection, if the connection was created for
|
||||
this object or is being reused. If this is not a persistent connection,
|
||||
this field should be &null;.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
|
|
|
@ -85,6 +85,18 @@
|
|||
for checking if the index creation succeeded. The driver will throw
|
||||
a MongoCursorException if index creation failed.
|
||||
</para>
|
||||
<para>
|
||||
If you are using replication and the master has changed, using "safe"
|
||||
will make the driver disconnect from the master, throw and exception,
|
||||
and attempt to find a new master on the next operation (your
|
||||
application must decide whether or not to retry the operation on the
|
||||
new master).
|
||||
</para>
|
||||
<para>
|
||||
If you <emphasis>do not</emphasis> use "safe" with a replica set and
|
||||
the master changes, there will be no way for the driver to know about
|
||||
the change so it will continuously and silently fail to write.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
|
@ -130,6 +142,14 @@
|
|||
second parameter was an optional boolean value specifying a unique
|
||||
index.
|
||||
</entry>
|
||||
<entry>1.0.11</entry>
|
||||
<entry>
|
||||
"safe" will trigger master failover, if necessary.
|
||||
</entry>
|
||||
<entry>
|
||||
<classname>MongoException</classname> will be thrown if index name
|
||||
(either generated or set) is longer than 128 bytes.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
|
@ -137,6 +157,23 @@
|
|||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
Throws <classname>MongoException</classname> if the index name is longer than
|
||||
128 bytes. (Version 1.0.11+)
|
||||
</para>
|
||||
<para>
|
||||
Throws <classname>MongoCursorException</classname> if the "safe" option is
|
||||
set and the index creation fails.
|
||||
</para>
|
||||
<para>
|
||||
Throws <classname>MongoCursorTimeoutException</classname> if the "safe"
|
||||
option is set to a value greater than one and the database cannot replicate
|
||||
the operation in <literal>MongoCollection::$wtimeout</literal> milliseconds.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<example>
|
||||
|
|
|
@ -54,6 +54,18 @@
|
|||
<classname>MongoCursorException</classname> if the insert did not
|
||||
succeed.
|
||||
</para>
|
||||
<para>
|
||||
If you are using replication and the master has changed, using "safe"
|
||||
will make the driver disconnect from the master, throw and exception,
|
||||
and attempt to find a new master on the next operation (your
|
||||
application must decide whether or not to retry the operation on the
|
||||
new master).
|
||||
</para>
|
||||
<para>
|
||||
If you <emphasis>do not</emphasis> use "safe" with a replica set and
|
||||
the master changes, there will be no way for the driver to know about
|
||||
the change so it will continuously and silently fail to write.
|
||||
</para>
|
||||
<para>
|
||||
If <literal>safe</literal> is an integer, will replicate the
|
||||
insert to that many machines before returning success (or throw an
|
||||
|
@ -127,6 +139,12 @@
|
|||
before) and added "fsync" option.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>1.0.11</entry>
|
||||
<entry>
|
||||
Disconnects on "not master" errors if "safe" is set.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
|
|
@ -57,6 +57,18 @@
|
|||
<classname>MongoCursorException</classname> if the update did not
|
||||
succeed.
|
||||
</para>
|
||||
<para>
|
||||
If you are using replication and the master has changed, using "safe"
|
||||
will make the driver disconnect from the master, throw and exception,
|
||||
and attempt to find a new master on the next operation (your
|
||||
application must decide whether or not to retry the operation on the
|
||||
new master).
|
||||
</para>
|
||||
<para>
|
||||
If you <emphasis>do not</emphasis> use "safe" with a replica set and
|
||||
the master changes, there will be no way for the driver to know about
|
||||
the change so it will continuously and silently fail to write.
|
||||
</para>
|
||||
<para>
|
||||
If <literal>safe</literal> is an integer, will replicate the
|
||||
update to that many machines before returning success (or throw an
|
||||
|
@ -132,6 +144,12 @@
|
|||
there was no safe option.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>1.0.11</entry>
|
||||
<entry>
|
||||
Disconnects on "not master" errors if "safe" is set.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
|
|
@ -53,6 +53,18 @@
|
|||
<classname>MongoCursorException</classname> if the insert did not
|
||||
succeed.
|
||||
</para>
|
||||
<para>
|
||||
If you are using replication and the master has changed, using "safe"
|
||||
will make the driver disconnect from the master, throw and exception,
|
||||
and attempt to find a new master on the next operation (your
|
||||
application must decide whether or not to retry the operation on the
|
||||
new master).
|
||||
</para>
|
||||
<para>
|
||||
If you <emphasis>do not</emphasis> use "safe" with a replica set and
|
||||
the master changes, there will be no way for the driver to know about
|
||||
the change so it will continuously and silently fail to write.
|
||||
</para>
|
||||
<para>
|
||||
If <literal>safe</literal> is an integer, will replicate the
|
||||
insert to that many machines before returning success (or throw an
|
||||
|
@ -125,6 +137,12 @@
|
|||
before) and added "fsync" option.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>1.0.11</entry>
|
||||
<entry>
|
||||
Disconnects on "not master" errors if "safe" is set.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
|
|
@ -85,6 +85,18 @@
|
|||
<classname>MongoCursorException</classname> if the update did not
|
||||
succeed.
|
||||
</para>
|
||||
<para>
|
||||
If you are using replication and the master has changed, using "safe"
|
||||
will make the driver disconnect from the master, throw and exception,
|
||||
and attempt to find a new master on the next operation (your
|
||||
application must decide whether or not to retry the operation on the
|
||||
new master).
|
||||
</para>
|
||||
<para>
|
||||
If you <emphasis>do not</emphasis> use "safe" with a replica set and
|
||||
the master changes, there will be no way for the driver to know about
|
||||
the change so it will continuously and silently fail to write.
|
||||
</para>
|
||||
<para>
|
||||
If <literal>safe</literal> is an integer, will replicate the
|
||||
update to that many machines before returning success (or throw an
|
||||
|
@ -162,6 +174,12 @@
|
|||
before) and added "fsync" option.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>1.0.11</entry>
|
||||
<entry>
|
||||
Disconnects on "not master" errors if "safe" is set.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
|
|
@ -27,10 +27,7 @@
|
|||
When the client attempts to get a result (by calling
|
||||
<function>MongoCursor::next</function>, directly or indirectly), the cursor
|
||||
moves into the post-query stage. At this point, the query has been executed
|
||||
by the database and cannot be modified anymore. At this point, the only
|
||||
functions available are the <classname>Iterator</classname> functions,
|
||||
<function>MongoCursor::hasNext</function>, and
|
||||
<function>MongoCursor::getNext</function>.
|
||||
by the database and cannot be modified anymore.
|
||||
</para>
|
||||
<para>
|
||||
<programlisting role="php">
|
||||
|
|
110
reference/mongo/mongocursor/batchsize.xml
Normal file
110
reference/mongo/mongocursor/batchsize.xml
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- $Revision$ -->
|
||||
<refentry xml:id="mongocursor.batchsize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>MongoCursor::limit</refname>
|
||||
<refpurpose>Sets the number of results returned per result set</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>MongoCursor</type><methodname>MongoCursor::batchSize</methodname>
|
||||
<methodparam><type>int</type><parameter>num</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
This cannot override MongoDB's limit on the amount of data it will return to
|
||||
the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still
|
||||
only return 4-16MB of results).
|
||||
</para>
|
||||
<para>
|
||||
To ensure consistent behavior, the rules of batchSize and limit behavior a
|
||||
little complex but work "as expected". The rules are: hard limits override
|
||||
soft limits with preference given to <function>MongoCursor::limit</function>
|
||||
over <function>MongoCursor::batchSize</function>. After that, whichever is
|
||||
set and lower than the other will take precedence. Some examples:
|
||||
</para>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
// one batch, at most 20 items
|
||||
$cursor->limit(-20)->batch(10);
|
||||
|
||||
// one batch, at most 10 items
|
||||
$cursor->limit(20)->batch(-10);
|
||||
|
||||
// first batch: at most 10 items
|
||||
$cursor->limit(10);
|
||||
|
||||
// first batch: at most 10 items
|
||||
$cursor->limit(10)->batch(20);
|
||||
|
||||
// first batch: at most 10 items
|
||||
$cursor->limit(20)->batch(10);
|
||||
|
||||
|
||||
$cursor->limit(30)->batchSize(7)
|
||||
// if we iterate through 28 items, the next call to getNext() will contact the
|
||||
// database and request a batch of 2 documents
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<parameter>num</parameter>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The number of results to return in the next batch.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns this cursor.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
Throws <classname>MongoCursorException</classname> if this cursor has
|
||||
started iterating. This will change in 1.0.12, as this should be able to be
|
||||
called at any time.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
<!-- 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
|
||||
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
|
||||
-->
|
|
@ -35,9 +35,10 @@
|
|||
Reset the cursor and try again.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Various send errors
|
||||
Get next batch send errors
|
||||
</para>
|
||||
<para>
|
||||
Code: 1
|
||||
|
@ -47,6 +48,7 @@
|
|||
still up and the network is okay.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>cursor not found</literal>
|
||||
|
@ -63,24 +65,35 @@
|
|||
this).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Various database errors
|
||||
Couldn't get response header.
|
||||
</para>
|
||||
<para>
|
||||
Code: 4
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
The database errored out on the query. The error message should be fairly
|
||||
self-explanatory, but you can check the database log for details.
|
||||
<literal>cursor->buf.pos is null</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 3
|
||||
</para>
|
||||
<para>
|
||||
This may indicate you are out of hard driver space or some other
|
||||
extraordinary circumstance.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>couldn't get response header</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 3
|
||||
Code: 4
|
||||
</para>
|
||||
<para>
|
||||
The driver could not fetch a reply header from the database, so it gave
|
||||
|
@ -88,6 +101,7 @@
|
|||
try the query again.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>no db response</literal>
|
||||
|
@ -101,16 +115,7 @@
|
|||
response, this means the database didn't give one.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>no db response</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 5
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>bad response length: %d, max: %d, did the db assert?</literal>
|
||||
|
@ -125,9 +130,10 @@
|
|||
4Mb). A response of less than 0 often means a database assertion occured.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>incomplete header/response</literal>
|
||||
<literal>incomplete header</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 7
|
||||
|
@ -137,6 +143,59 @@
|
|||
but broke off in the middle. Probably indicates a network problem.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>incomplete response</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 8
|
||||
</para>
|
||||
<para>
|
||||
Highly unusual. Occurs if the database response started out correctly,
|
||||
but broke off in the middle. Probably indicates a network problem.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>couldn't find a response</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 9
|
||||
</para>
|
||||
<para>
|
||||
If the response was cached and now cannot be located.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>error getting socket</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 10
|
||||
</para>
|
||||
<para>
|
||||
The socket was closed or encountered an error. The driver should
|
||||
automatically reconnect (if possible) on the next operation.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>couldn't find reply, please try again</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 11
|
||||
</para>
|
||||
<para>
|
||||
The driver saves any database responses it cannot immediately match with a
|
||||
request. This exception occurs if the driver has already passed your
|
||||
request's response and cannot find your response in its cache.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>error getting database response: errstr</literal>
|
||||
|
@ -149,40 +208,47 @@
|
|||
subsystem. On Windows, the error message is prefixed with "WSA".
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>error getting database response: <various></literal>
|
||||
<literal>Timeout error</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 8
|
||||
Code: 13
|
||||
</para>
|
||||
<para>
|
||||
Something went wrong at the socket layer. This will return the error
|
||||
message from the C socket library.
|
||||
If there was an error while waiting for a query to complete.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>couldn't find a response</literal>
|
||||
<literal>couldn't send query: <various></literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 9
|
||||
Code: 14
|
||||
</para>
|
||||
<para>
|
||||
If the response was cached and now cannot be located.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
various
|
||||
</para>
|
||||
<para>
|
||||
Code: 10
|
||||
</para>
|
||||
<para>
|
||||
No code given by the database.
|
||||
C socket error on send.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
<title>Errors passed through by the database</title>
|
||||
<para>
|
||||
Database errors should always trigger MongoCursorExceptions on queries.
|
||||
Error messages and codes are sent directly from the database and you should
|
||||
be able to see matching errors in the database log.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A few common database errors are listed below:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ }</literal>
|
||||
|
@ -194,6 +260,21 @@
|
|||
Database error for duplicate keys.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>not master</literal>
|
||||
</para>
|
||||
<para>
|
||||
Codes: 10107, 13435, and 10058
|
||||
</para>
|
||||
<para>
|
||||
Not master errors, piped through by the database. Each of these will
|
||||
cause the driver to disconnect and attempt to find a new master. The
|
||||
actual error you get on failover may not be a "not master" error,
|
||||
depending on when the change in master occurs.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</section>
|
||||
|
|
|
@ -22,9 +22,160 @@
|
|||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>non-utf8 string</literal>
|
||||
<literal>The MongoSomething object has not been correctly initialized by its constructor</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 0
|
||||
</para>
|
||||
<para>
|
||||
Probably your Mongo object is not connected to a database server.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>zero-length keys are not allowed, did you use $ with double quotes?</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 1
|
||||
</para>
|
||||
<para>
|
||||
You tried to save "" as a key. You generally should not do this. "" can
|
||||
mess up subobject access and is used by MongoDB internally. However, if
|
||||
you really want, you can set
|
||||
<link linkend="ini.mongo.allow_empty_keys">mongo.allow_empty_keys</link>
|
||||
to true in your php.ini file to override this sanity check. If you
|
||||
override this, it is highly recommended that you set error checking to
|
||||
strict to avoid string interpolation errors.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>'.' not allowed in key: <key></literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 2
|
||||
</para>
|
||||
<para>
|
||||
You attempted to write a key with '.' in it, which is prohibited.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>insert too large: <size>, max: <max></literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 3
|
||||
</para>
|
||||
<para>
|
||||
You're attempting to send too much data to the database at once: the
|
||||
database will only accept inserts up to a certain size (currently 16 MB).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>no elements in doc</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 4
|
||||
</para>
|
||||
<para>
|
||||
You're attempting to save a document with no fields.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>size of BSON doc is <size> bytes, max <max>MB</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 5
|
||||
</para>
|
||||
<para>
|
||||
You're attempting to save a document that is larger than MongoDB can save.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>no documents given</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 6
|
||||
</para>
|
||||
<para>
|
||||
You're attempting to batch insert an empty array of documents.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>MongoCollection::group takes an array, object, or MongoCode key</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 7
|
||||
</para>
|
||||
<para>
|
||||
Wrong type parameter send to <function>MongoCollection::group</function>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>field names must be strings</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 8
|
||||
</para>
|
||||
<para>
|
||||
You should format field selectors as
|
||||
<literal>array("field1" => 1, "field2" => 1, ..., "fieldN" => 1)</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>invalid regex</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 8
|
||||
</para>
|
||||
<para>
|
||||
The regex passed to <classname>MongoRegex</classname> is not of the
|
||||
correct form.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>MongoDBRef::get: $ref field must be a string</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 10
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>MongoDBRef::get: $db field must be a string</literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 11
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>non-utf8 string: <str></literal>
|
||||
</para>
|
||||
<para>
|
||||
Code: 12
|
||||
</para>
|
||||
<para>
|
||||
This error occurs if you attempt to send a non-utf8 string to the
|
||||
|
@ -32,22 +183,37 @@
|
|||
options for the transition option of quieting this exception.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>invalid regex</literal>
|
||||
<literal>mutex error: <err></literal>
|
||||
</para>
|
||||
<para>
|
||||
The regex you passed in does not match the form /regex/flags.
|
||||
Code: 13
|
||||
</para>
|
||||
<para>
|
||||
The driver uses mutexes for synchronizing requests and responses in
|
||||
multithreaded environments. This is a fairly serious error and may not
|
||||
have a stack trace. It's unusual and should be reported to maintainers
|
||||
with any system information and steps to reproduce that you can provide.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>The MongoSomething object has not been correctly initialized by its constructor</literal>
|
||||
<literal>index name to long: <len>, max <max> characters</literal>
|
||||
</para>
|
||||
<para>
|
||||
Probably your Mongo object is not connected to a database server.
|
||||
Code: 14
|
||||
</para>
|
||||
<para>
|
||||
Indexes with names longer than 128 characters cannot be created. If you
|
||||
get this error, you should use
|
||||
<function>MongoCollection::ensureIndex</function>'s "name" option to
|
||||
create a shorter name for your index.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<!-- }}} -->
|
||||
|
|
|
@ -60,6 +60,13 @@ C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
|
|||
</ooclass>
|
||||
</classsynopsisinfo>
|
||||
<!-- }}} -->
|
||||
|
||||
<fieldsynopsis>
|
||||
<modifier>public</modifier>
|
||||
<type>string</type>
|
||||
<varname>$id</varname>
|
||||
<initializer>&null;</initializer>
|
||||
</fieldsynopsis>
|
||||
|
||||
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.mongoid')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
|
||||
|
@ -68,6 +75,20 @@ C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
|
|||
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Fields</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>$id</term>
|
||||
<listitem>
|
||||
<simpara>
|
||||
This field contains the string representation of this object.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
|
|
50
reference/mongo/mongoid/getinc.xml
Normal file
50
reference/mongo/mongoid/getinc.xml
Normal file
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<refentry xml:id="mongoid.getinc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>MongoId::getPID</refname>
|
||||
<refpurpose>Gets the incremented value to create this id</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>int</type><methodname>MongoId::getInc</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
&no.function.parameters;
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns the incremented value used to create this <classname>MongoId</classname>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- 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
|
||||
-->
|
50
reference/mongo/mongoid/getpid.xml
Normal file
50
reference/mongo/mongoid/getpid.xml
Normal file
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
|
||||
<refentry xml:id="mongoid.getpid" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<refnamediv>
|
||||
<refname>MongoId::getPID</refname>
|
||||
<refpurpose>Gets the process id used to create this</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>int</type><methodname>MongoId::getPID</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
&no.function.parameters;
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Returns the PID used to create this <classname>MongoId</classname>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!-- 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
|
||||
-->
|
|
@ -7,6 +7,39 @@
|
|||
|
||||
<partintro>
|
||||
|
||||
<section>
|
||||
<title>Change in number handling</title>
|
||||
<para>
|
||||
<emphasis>
|
||||
The default behavior for numbers will be changing in version 1.1.0. For
|
||||
most programmers, this will make the driver's numeric handling smoother and
|
||||
more natural, but it may require updating application code to work.
|
||||
</emphasis>
|
||||
</para>
|
||||
<para>
|
||||
The backwards-breaking changes will be related to the serialization and
|
||||
deserialization of integers. You can test how these changes will affect
|
||||
your code by specifying the .ini changes now: mongo.native_int and
|
||||
mongo.long_as_object will default to &true;.
|
||||
</para>
|
||||
<para>
|
||||
Serialization: by default pre-1.1.0, all PHP integers are serialized as
|
||||
32-bit integers, even on 64-bit machines. This means that large numbers get
|
||||
silently truncated. In 1.1.0, 64-bit machines will, by default, save
|
||||
integers as 64-bit integers. 32-bit machines will continue to save integers
|
||||
as 32-bit integers (you can also use the <classname>MongoInt32</classname>
|
||||
and <classname>MongoInt64</classname> classes to use 32-bit int on a 64-bit
|
||||
machine or visa versa).
|
||||
</para>
|
||||
<para>
|
||||
Deserialization: by default pre-1.1.0, 64-bit integers will be deserialized
|
||||
as doubles. This is not a perfect mapped and means they will be resaved as
|
||||
the wrong type (double instead of 64-bit integer). In 1.1.0, 64-bit
|
||||
integers will be returned as <classname>MongoInt64</classname>'s on 32-bit
|
||||
machines.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<para>
|
||||
MongoDB allows programmers to save and query for data expressed in all of the
|
||||
|
|
|
@ -88,6 +88,7 @@
|
|||
<function name='mongocursor::immortal' from='PECL mongo >=1.0.1'/>
|
||||
<function name='mongocursor::addoption' from='PECL mongo >=1.0.4'/>
|
||||
<function name='mongocursor::info' from='PECL mongo >=1.0.5'/>
|
||||
<function name='mongocursor::batchSize' from='PECL mongo >=1.0.11'/>
|
||||
<!-- MongoGridFS -->
|
||||
<function name='mongogridfs::__construct' from='PECL mongo >=0.9.0'/>
|
||||
<function name='mongogridfs::find' from='PECL mongo >=0.9.0'/>
|
||||
|
@ -118,6 +119,8 @@
|
|||
<function name='mongoid::__tostring' from='PECL mongo >= 0.8.0'/>
|
||||
<function name='mongoid::__set_state' from='PECL mongo >= 1.0.8'/>
|
||||
<function name='mongoid::getHostname' from='PECL mongo >= 1.0.8'/>
|
||||
<function name='mongoid::getPID' from='PECL mongo >= 1.0.11'/>
|
||||
<function name='mongoid::getInc' from='PECL mongo >= 1.0.11'/>
|
||||
<!-- MongoRegex -->
|
||||
<function name='mongoregex::__construct' from='PECL mongo >= 0.8.1'/>
|
||||
<function name='mongoregex::__tostring' from='PECL mongo >= 0.8.1'/>
|
||||
|
|
Loading…
Reference in a new issue