国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php實現Mongodb自定義方式生成自增ID的方法

2024-05-04 23:33:13
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php實現Mongodb自定義方式生成自增ID的方法,實例分析了Mongodb自增字段的實現技巧與對應php操作方法,需要的朋友可以參考下

本文實例講述了php實現Mongodb自定義方式生成自增ID的方法。分享給大家供大家參考。具體分析如下:

復制代碼代碼如下:

//首先創建一個自動增長id集合 ids

>db.ids.save({name:"user", id:0});

//可以查看一下是否成功

> db.ids.find();

{ "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : "user", "id" : 0 }

//然后每次添加新用戶之前自增一下 ids集合 獲得id

>userid = db.ids.findAndModify({update:{$inc:{'id':1}}, query:{"name":"user"}, new:true});

{ "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : "user", "id" : 1 }

//注:因為findAndModify是一個方法完成更新查找兩個操作,所以具有原子性,多線程不會沖突。

//然后保存相應的數據

>db.user.save({uid:userid.id, username:"kekeles", password:"kekeles", info:"http://www.survivalescaperooms.com/ "});

//查看結果

> db.user.find();

{ "_id" : ObjectId("4c637f79900f00000000686d"), "uid" : 1, "username" : "admin", "password" : "admin" }

//這是mongo的shell,如果用的是服務器端程序java php python,可以自己對這些操作封裝一下,只用傳幾個參數就可以返回自增的id,還可以實現像Oracle的跨表的自增id。

自己寫了一段php的,拿出來給大家分享。

 

 
  1. <?php 
  2. function mid($name$db){ 
  3. $update = array('$inc'=>array("id"=>1)); 
  4. $query = array('name'=>$name); 
  5. $command = array
  6. 'findandmodify'=>'ids''update'=>$update
  7. 'query'=>$query'new'=>true, 'upsert'=>true 
  8. ); 
  9. $id = $db->command($command); 
  10. return $id['value']['id']; 
  11. $conn = new Mongo(); 
  12. $db = $conn->idtest; 
  13. $id = mid('user'$db); 
  14. $db->user->save(array
  15. 'uid'=>$id,  
  16. 'username'=>'kekeles',  
  17. 'password'=>'kekeles'
  18. 'info'=>'http://www.survivalescaperooms.com/ ' 
  19. )); 
  20. $conn->close(); 
  21. ?> 

希望本文所述對大家的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武冈市| 阿坝| 蓝山县| 江陵县| 射洪县| 平乐县| 启东市| 湾仔区| 茶陵县| 吉木萨尔县| 建昌县| 湖口县| 葫芦岛市| 南岸区| 宜州市| 郸城县| 石屏县| 噶尔县| 五华县| 汤阴县| 阿拉善盟| 嵩明县| 左权县| 张家界市| 庐江县| 西畴县| 兴仁县| 紫云| 武清区| 高阳县| 迁安市| 兰考县| 望谟县| 新丰县| 建德市| 乳源| 芜湖县| 醴陵市| 林周县| 曲沃县| 贞丰县|