I want ceate Auto-Incrementing Sequence for _ID Field , need use findAndModify command , may this not support, hope you add, thanks!
ErrorException in Collection.php line 41:
call_user_func_array() expects parameter 1 to be a valid callback, class 'MongoDB\Collection' does not have a method 'findAndModify'
public static function getNextSequence( $collection )
{
$seq = DB::getCollection('_data_counters')->findAndModify(
array('_id' => $collection),
array('$inc' => array('seq' => 1)),
null,
array('new' => true, 'upsert' => true)
);
return $seq['seq'];
}
has fixed , thank your very much sir.
use \MongoDB\Operation\FindOneAndUpdate;
public static function getNextSequence( $collection )
{
$seq = DB::getCollection('_data_counters')->findOneAndUpdate(
array('_id' => $collection),
array('$inc' => array('seq' => 1)),
array('new' => true, 'upsert' => true, 'returnDocument' => FindOneAndUpdate::RETURN_DOCUMENT_AFTER)
);
return $seq -> seq;
}