downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

MongoCollection::remove> <MongoCollection::group
Last updated: Fri, 12 Mar 2010

view this page in

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insertInserts an array into the collection

Description

public mixed MongoCollection::insert ( array $a [, boolean $safe = false ] )

Parameters

a

An array.

safe

If the database should check that the insert was successful.

Return Values

If safe was set, returns an array containing the status of the insert. Otherwise, returns a boolean representing if the array was not empty (an empty array will not be inserted).

Errors/Exceptions

Throws MongoCursorException if safe is set and the insert fails. (Version 1.0.1+)

Examples

Example #1 MongoCollection::insert() _id example

Inserting an object will add an _id field to it, unless it is passed by reference.

<?php

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

$b = array('x' => 1);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);

?>

The above example will output something similar to:

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

Example #2 MongoCollection::insert() safe example

This example shows inserting two elements with the same _id, which causes a MongoCursorException to be thrown, as safe was set.

<?php

$person 
= array("name" => "Joe""age" => 20);
$collection->insert($persontrue);

// now $person has an _id field, so if we save it 
// again, we will get an exception
try {
    
$collection->insert($persontrue);
}
catch(
MongoCursorException $e) {
    echo 
"Can't save the same person twice!\n";
}

?>

See Also

MongoDB core docs on » insert.



add a note add a note User Contributed Notes
MongoCollection::insert
quintonparker at gmail dot com
14-Jul-2009 02:41
Worth noting that insert() accepts the array by reference

On successful insert the array is returned with the _id assigned by Mongo

<?php
$doc
= array(
'key1' => 'yay',
'key2' => 'yipee',
);
?>

therefore becomes:

<?php
$doc
= array(
'key1' => 'yay',
'key2' => 'yipee',
'_id' => '4a5c9100fbecbc00503debc8'
);
?>

Handy. Akin to mysql's SELECT LAST_INSERT_ID() without the hassle of having to send another query :-)

MongoCollection::remove> <MongoCollection::group
Last updated: Fri, 12 Mar 2010
 
 
show source | credits | sitemap | contact | advertising | mirror sites