dqkxo44488 2017-03-30 08:21
浏览 60

php中的mongodb自动增量

I am using php and mongodb. I want to autoincreement the id. When i am using this code

db.online.insert({
field_id: "register_id",
nextId: 0
},
{
field_id: "user_id",
nextId: 0
});


function getNextIdOnline(field){
var ret = db.online.findAndModify({
    query: { field_id: field },
    update: { $inc: { nextId: 1 } },
    new: true
});    
return ret.nextId;
}

db.online.insert({
 _id: getNextIdOnline("register_id"),
 userid: "8223456",
 username:"Kumar"
});

It is working as fine in mongodb terminal. I want to call to function in php. when using this code

$mng1 = new MongoDB\Driver\Manager("mongodb://user:pass@localhost:27017/db");
$bulk = new MongoDB\Driver\BulkWrite;
    $proccode = 'getNextIdOnline("register_id")';
$bulk->update(['userid' => $userphone], ['_id' =>  new MongoCode($proccode),'userid' => $userphone, 'username' => $username, 'active_time' => $today], ['upsert' => 'true']);

$mng->executeBulkWrite("db.online", $bulk);

Then it shows the error is

Uncaught Error: Class 'MongoCode' not found.

I got the reference from http://pointbeing.net/weblog/2010/08/getting-started-with-stored-procedures-in-mongodb.html

How can auto increement the field using php? Please help me.

Is there any substitute for mongocode?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信小程序协议怎么写
    • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
    • ¥20 怎么用dlib库的算法识别小麦病虫害
    • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
    • ¥15 java写代码遇到问题,求帮助
    • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
    • ¥15 有了解d3和topogram.js库的吗?有偿请教
    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看