Tengo que usar Mongodb con php e intenté obtener datos de mongocollection usando php. la siguiente mongoquery con el registro de retorno de php con éxito. pero quiero establecer un límite para la siguiente consulta.
Código PHP:
$query = array("\$and"=>array(array('fld'=> array("\$in"=> array('4', '14', '20'))), array('stat'=>array("\$eq"=>"A")))); $cursor = $this->collection->find($query);también he intentado de la siguiente manera
$query = array("\$and"=>array(array('fld'=> array("\$in"=> array('4', '14', '20'))), array('stat'=>array("\$eq"=>"A")))).limit(2);Pero tengo un error fatal
Llamada al límite de función indefinido ()
¿Cómo usar limit() en la consulta anterior?
La nueva biblioteca PHP MongoDB no tiene los métodos limit() y sort() en los cursores como tenía la antigua biblioteca PHP Mongo. Ahora deben especificarse en el momento de la consulta, por ejemplo:
$collection->find($query, [ 'limit' => 10, 'sort' => [ 'date' => -1 ], 'projection' => [ '_id' => 1, 'description' => 1, ] ];En PHP, limit() es un método de la clase MongoCursor y no de una matriz. Primero debe obtener un cursor y luego llamar a su método limit() :
$collection->find($query)->limit(2); También puede agregar una matriz de opciones a su llamada find() con el parámetro de limit :
$collection->find($query, ['limit' => 2]);Si está utilizando el controlador MongoDB con la biblioteca MongoDB PHP , entonces
require 'vendor/autoload.php'; $client = new MongoDB\Client("mongodb://localhost:27017"); //SELECT * FROM YOUR_TABLE_NAME LIMIT 10 //db.YOUR_COLLECTION_NAME.find({}).limit(10); $result = $clinet->YOUR_DB_NAME->YOUR_COLLECTION_NAME->find(array(),array('limit'=>10));