2011-03-17 28 views

Respuesta

4

Puede obtener el número de resultados desde el cursor utilizando la función de recuento:

$collection->find()->count(); 

Incluso puede obtener el número de todos los registros de la colección usando:

$collection->count(); 

Utilizando el método de inserción, _id es agregado a la matriz de entrada automáticamente.

$a = array('x' => 1); 
$collection->insert($a,array('safe'=>true)); 
var_dump($a); 

array(2) { 
    ["x"]=> 
    int(1) 
    ["_id"]=> 
    object(MongoId)#4 (0) { 
    } 
    } 
4

No creo que haya ningún tipo de método affected_rows() a su disposición con mongodb. En cuanto a la última inserción _id Puede generarlos en su código de aplicación e incluirlos en su inserción, por lo que realmente no es necesario ningún método mysql como insert_id().

$id = new MongoId(); 
$collection->insert(array(' 
    '_id' => $id, 
    'username' => 'username', 
    'email' => '[email protected]' 
')); 

Ahora puede usar el objeto almacenado en $ id como lo desee.

0

Para el número de filas afectadas:

 $status = $collection->update($criteria, array('$set' => $data)); 
     $status['n']; // 'n' is the number of affected rows 
0

Si usted tiene la salida de su acción, puede llamar a la función relativa:

//  $m hold mongo library object 
$output = $m->myCollection->updateOne([ 
    '_id' => myMongoCreateID('56ce2e90c9c037dba19c3ce1')], [ 
    '$set' => ['column' => 'value'] 
]); 
// get number of modified records 
$count  = $output->getModifiedCount(); 

$ salida es del tipo de MongoDB\UpdateResult. Relativamente comprobar siguientes archivos para averiguar la mejor función para encontrar insertados, eliminados emparejado o lo que resultará necesario:

Cuestiones relacionadas