MongoCollection::find

(PECL mongo >=0.9.0)

MongoCollection::find��ѯ�ü��ϣ������ؽ������ MongoCursor

˵��

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

����

query

Ҫ�������ֶΡ� MongoDB �IJ�ѯ����ʮ�ֿ��� PHP �����ڼ������е�����»�Ѳ�ѯֱ�Ӵ���������������Ķ� MongoDB ���� » find �ĺ����ĵ��Ǹ���������⡣

Warning

��ȷ������ָ���IJ�ѯ���������� $ ��ͷ�����õ����ŵģ����� PHP �Ų��᳢���� $exists ������ֵ���滻 "$exists" ���

fields

���ؽ�����ֶΡ�Array �ĸ�ʽ�� array('fieldname' => true, 'fieldname2' => true)�� _id �ֶ��ܻ᷵�ء�

����ֵ

��������������αꡣ

����

Example #1 MongoCollection::find() ����

��������ʾ�˻���������ѡ�

<?php

$m 
= new MongoClient();
$db $m->selectDB('test');
$collection = new MongoCollection($db'produce');

// ����ˮ��
$fruitQuery = array('Type' => 'Fruit');

$cursor $collection->find($fruitQuery);
foreach (
$cursor as $doc) {
    
var_dump($doc);
}

// ������IJ�Ʒ Taste is a child of Details. 
$sweetQuery = array('Details.Taste' => 'Sweet');
echo 
"Sweet\n";
$cursor $collection->find($sweetQuery);
foreach (
$cursor as $doc) {
    
var_dump($doc);
}

?>

�������̻������

array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}
array(4) {
  ["_id"]=>
  object(MongoId)#8 (1) {
    ["$id"]=>
    string(24) "50a87de084f045a19b220dd7"
  }
  ["Name"]=>
  string(5) "Lemon"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(4) "Sour"
    ["Colour"]=>
    string(5) "Green"
  }
}

Sweet:
array(4) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "50a87dd084f045a19b220dd6"
  }
  ["Name"]=>
  string(5) "Apple"
  ["Type"]=>
  string(5) "Fruit"
  ["Details"]=>
  array(2) {
    ["Taste"]=>
    string(5) "Sweet"
    ["Colour"]=>
    string(3) "Red"
  }
}

��������α����ʹ�õ���Ϣ���μ� MongoCursor��

Example #2 MongoCollection::find() ����

���������ʾ���������һ����Χ��

<?php

$m 
= new MongoClient();
$db $m->selectDB('test');
$collection = new MongoCollection($db'phpmanual');

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

$cursor $collection->find($rangeQuery);
foreach (
$cursor as $doc) {
    
var_dump($doc);
}

?>

�������̻������

array(2) {
  ["_id"]=>
  object(MongoId)#10 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000000"
  }
  ["x"]=>
  int(12)
}
array(2) {
  ["_id"]=>
  object(MongoId)#11 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000001"
  }
  ["x"]=>
  int(12)
}

��������α����ʹ�õ���Ϣ���μ� MongoCursor��

Example #3 ʹ�� $where �� MongoCollection::find() ����

���������ʾ���������һ�����ϣ����� javascript ������ɸѡ�������

<?php

$m 
= new MongoClient();
$db $m->selectDB('test');
$collection = new MongoCollection($db'phpmanual');

$js "function() {
    return this.name == 'Joe' || this.age == 50;
}"
;
$cursor $collection->find(array('$where' => $js));
foreach (
$cursor as $doc) {
    
var_dump($doc);
}

?>

�������̻������

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Example #4 ʹ�� $in �� MongoCollection::find() ����

���������ʾ��ʹ�� $in ���������������ϡ�

<?php

$m 
= new MongoClient();
$db $m->selectDB('test');
$collection = new MongoCollection($db'phpmanual');

$cursor $collection->find(array(
    
'name' => array('$in' => array('Joe''Wendy'))
));

?>

�������̻������

array(3) {
  ["_id"]=>
  object(MongoId)#7 (1) {
    ["$id"]=>
    string(24) "4ebc3e3710b89f2349000002"
  }
  ["name"]=>
  string(3) "Joe"
  ["age"]=>
  int(20)
}

Example #5 ��������ʽ��ȡ�����

���� MongoCursor�� �����ڿ�ʼ��ʱ�����Ǹ�ϰ��ʹ�����顣 ʹ�� iterator_to_array() ���α�ת����һ�����顣

<?php

$m 
= new MongoClient();
$db $m->selectDB('test');
$collection = new MongoCollection($db'phpmanual');

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

?>

�������̻������

array(3) {
  ["4ebc40af10b89f5149000000"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#6 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000000"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000001"]=>
  array(2) {
    ["_id"]=>
    object(MongoId)#11 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000001"
    }
    ["x"]=>
    int(12)
  }
  ["4ebc40af10b89f5149000002"]=>
  array(3) {
    ["_id"]=>
    object(MongoId)#12 (1) {
      ["$id"]=>
      string(24) "4ebc40af10b89f5149000002"
    }
    ["name"]=>
    string(3) "Joe"
    ["age"]=>
    int(20)
  }
}

ʹ�� iterator_to_array() ����������ǿ����������������������ڴ棬���ԶԳ����ڴ��С�Ľ������Ҫ��ô����

ͬʱ����Щϵͳ���ϲ����� _id �ֶΡ� ����㴦��һ������û�� _id �ֶεļ��ϣ���Ҫ�� FALSE ���� iterator_to_array() �ڶ������������������᳢��ʹ�ò����ڵ� _id ��ֵ��Ϊ���������

�μ�