PHP Doku:: Querys this collection - mongocollection.find.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenMongoDB Native DriverCore ClassesThe MongoCollection classMongoCollection::find

Ein Service von Reinhard Neidl - Webprogrammierung.

The MongoCollection class

<<MongoCollection::ensureIndex

MongoCollection::findOne>>

MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::findQuerys this collection

Beschreibung

public MongoCursor MongoCollection::find ([ array $query = array() [, array $fields = array() ]] )

Parameter-Liste

query

The fields for which to search.

fields

Fields of the results to return.

Rückgabewerte

Returns a cursor for the search results.

Beispiele

Beispiel #1 MongoCollection::find() example

This example demonstrates how to search for a range.

<?php

// search for documents where 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5'$lt' => 20 ));

$cursor $collection->find($rangeQuery);

?>

See MongoCursor for more information how to work with cursors.

Beispiel #2 MongoCollection::find() example using $where

This example demonstrates how to search a collection using javascript code to reduce the resultset.

<?php

$collection 
$db->my_db->articles;

$js "function() {
  return this.type == 'homepage' || this.featured == true;
}"
;
$articles $collection->find(array('$where' => $js));

?>

Beispiel #3 MongoCollection::find() example using $in

This example demonstrates how to search a collection using the $in operator.

<?php

$collection 
$db->my_db->articles;
$articles $collection->find(array(
  
'type' => array('$in' => array('homepage''editorial'))
));

?>

Beispiel #4 Getting results as an array

This returns a MongoCursor. Often, when people are starting out, they are more comfortable using an array. To turn a cursor into an array, use the iterator_to_array() function.

<?php

$cursor 
$collection->find();
$array iterator_to_array($cursor);

?>

Using iterator_to_array() forces the driver to load all of the results into memory, so do not do this for result sets that are larger than memory!

Also, certain system collections do not have an _id field. If you are dealing with a collection that might have documents without _ids, pass FALSE as the second argument to iterator_to_array() (so that it will not try to use the non-existent _id values as keys).

Siehe auch

MongoDB core docs on » find.


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
nospam at alexyves dot fr
9.12.2010 15:28
This will work with versions >=1.5.3, please note that this is just a example of the way to use the or statement.

<?php
  $connection
= new Mongo();

 
$db = $connection->test;
 
$collection = $db->test;
 
// Clean the DB before the test.
 
$collection->drop();
 
$collection = $db->test;

 
$apple = array(
   
'fruit' => 'Apple',
   
'type' => 'Juice',
  );

 
$orange = array(
   
'fruit' => 'Orange',
   
'type' => 'Marmalade',
  );

 
$collection->insert($apple);
 
$collection->insert($orange);

 
// Basic find
 
$results = $collection->find(array('fruit' => 'Apple'));

  foreach(
$results as $result)
  {
    echo
sprintf("Fruit: %s, Type: %s%s", $result['fruit'], $result['type'], PHP_EOL);
  }
?>

Output:

Fruit: Apple, Type: Juice

Now an advanced search with "or" statement.

<?php
 
// Advanced find with "OR" note the double array.
  // if you use double quotes escape the or "\$or"
 
$results = $collection->find( array( '$or' => array( array('fruit' => 'Apple'), array('fruit' => 'Orange') ) ) );

  foreach(
$results as $result)
  {
    echo
sprintf("Fruit: %s, Type: %s%s", $result['fruit'], $result['type'], PHP_EOL);
  }
?>

Output:

Fruit: Apple, Type: Juice
Fruit: Orange, Type: Marmalade



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)