使用PHP库在MongoDB中生成序列

使用PHP库在MongoDB中生成序列,php,mongodb,Php,Mongodb,我正在将一个旧的PHP应用程序从遗留的mongoDB代码移植到当前的mongoDB库版本对于发票生成,我需要一个序列。以前我使用过: db.system.js.save( { _id: "getNextSequence", value: function (client, id) { var ret = db.counter.findAndModify( { query: {client: client, id

我正在将一个旧的PHP应用程序从遗留的mongoDB代码移植到当前的mongoDB库版本对于发票生成,我需要一个序列。以前我使用过:

db.system.js.save(
{
    _id: "getNextSequence",
    value: function (client, id) {
       var ret = db.counter.findAndModify(
            {
                query: {client: client, id: id},
                update: {$inc: {seq: 1}},
                new: true
            }
        );

        return ret.seq;
    }
});
在PHP方面:

$getNextSequence = new MongoCode("getNextSequence('$client', 'invoices')");
$ret = $this->db->execute($getNextSequence);
$nextId = $ret['retval'];
不幸的是,这已经不可能了,因为MongoCode类已经不存在了。坦率地说,关于的文档是无用的

问题: 我怎么能这样呢

a) 使用新的MongoDB PHP库或

b) 找到一种不同的方法来增加序列,同时获取更新的编号

$collection = $this->db->counter;
$ret = $collection->findOneAndUpdate(
    array("client" => $client, "id" => "invoices"),
    array('$inc' => array("seq" => 1)),
    array("new" => true, "upsert" => true)
);
$nextId = $ret->seq;
除了第一次插入,MongoDB提供了一个空的$id。改进想法是受欢迎的

除了第一次插入,MongoDB提供了一个空的$id。改进想法是受欢迎的