Skip to content

Commit 8a00ff2

Browse files
committed
Use value objects and make QueryResult IteratorAggregate
1 parent 594dbdb commit 8a00ff2

File tree

2 files changed

+34
-40
lines changed

2 files changed

+34
-40
lines changed

docs/examples/insert.php

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
<?php
22

3-
$batch = new \MongoDB\Batch\InsertBatch();
4-
$batch
3+
$ordered = true;
4+
5+
$insertBatch = new \MongoDB\Batch\InsertBatch($ordered);
6+
$insertBatch
57
->add($hannes)
68
->add($hayley);
79

8-
$writeOptions = array(
9-
"ordered" => true,
10-
"writeConcern" => array(
11-
"w" => 3,
12-
"wtimeout" => 42,
13-
),
14-
);
10+
$w = 'majority';
11+
$w = 500;
12+
13+
$writeConcern = new \MongoDB\WriteConcern($w, $wtimeout);
1514

1615
$mm = new \MongoDB\Manager("mongodb://server1,server2/?replicaSet=FOOBAR");
1716

18-
$results = $mm->executeWrite("db.collection", $batch, $writeOptions);
17+
$result = $mm->executeWrite("db.collection", $insertBatch, $writeConcern);
1918

20-
assert($results instanceof \MongoDB\WriteResults);
19+
assert($result instanceof \MongoDB\WriteResult);
2120

2221
printf(
2322
"Inserted %d documents %s in %d msec\n",
24-
$results->getOpCount(),
25-
$results->getServer()->getHostname(),
26-
$results->getTimer()
23+
$result->getOpCount(),
24+
$result->getServer()->getHostname(),
25+
$result->getTimer()
2726
);

docs/examples/query.php

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,33 @@
11
<?php
22

3-
$queryDocument = array(
4-
'$query' => array("name" => "Hannes"),
5-
'$orderBy' => array('name' => 1),
6-
'$comment' => 'More special stuff',
3+
$criteria = array("name" => "Hannes");
4+
$selector = array('fieldname' => 1, 'fieldname.two' => 1);
5+
6+
$query = new \MongoDB\Query($criteria, $selector);
7+
$query
8+
->setOrderBy(array('name' => 1))
9+
->setComment('More special stuff')
10+
->setLimit(-3) // Kill server cursor after 3 documents
11+
->setSkip(0) // Don't skip any documents
12+
->setFlags(EXHAUST | NO_CURSOR_TIMEOUT);
13+
14+
$tags = array(
15+
array("dc:eu", "cpu:fast"),
16+
array("dc:eu", "cc:is"),
17+
array(""),
718
);
819

9-
$queryFields = array(
10-
'fieldname' => 1,
11-
'fieldname.two' => 1,
12-
);
13-
14-
$flags = EXHAUST | NO_CURSOR_TIMEOUT;
15-
$limit = -3; // Kill server cursor after 3 documents
16-
$skip = 0; // Don't skip any documents
17-
18-
$query = new \MongoDB\Query($queryDocument, $queryFields, $flags, $limit, $skip);
19-
20-
$readPreference = array(
21-
"type" => 'secondaryPreferred',
22-
"tags" => array(
23-
array("dc:eu", "cpu:fast"),
24-
array("dc:eu", "cc:is"),
25-
array(""),
26-
),
27-
);
20+
$readPreference = new \MongoDB\ReadPreference('secondaryPreferred', $tags);
2821

2922
$mm = new \MongoDB\Manager("mongodb://server1,server2/?replicaSet=FOOBAR");
3023

31-
$cursor = $mm->executeQuery("db.collection", $query, $readPreference);
24+
$result = $mm->executeQuery("db.collection", $query, $readPreference);
3225

33-
assert($cursor instanceof \MongoDB\Cursor);
26+
assert($result instanceof \MongoDB\QueryResult);
27+
assert($result instanceof \IteratorAggregate);
28+
assert($result->getIterator() instanceof \MongoDB\Cursor);
3429

35-
foreach($cursor as $person) {
30+
foreach($result as $person) {
3631
printf(
3732
"%s has lived in %s\n",
3833
$person->getName(),

0 commit comments

Comments
 (0)