亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

Mongodb自增id實現方法

2020-03-14 13:07:17
字體:
來源:轉載
供稿:網友

本文實例講述了Mongodb自增id實現方法。分享給大家供大家參考,具體如下:

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

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

可以查看一下是否成功

> db.ids.find();{ "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : "user", "id" : 0 }

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

然后每次在db.user集合里添加新用戶之前 在db.ids集合中的name="user"文檔的id值加1返回文檔

>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:"dotcoo", password:"dotcoo", info:"http://www.49028c.com/ "});// --------- update 2011-03-27 13:11 ------------------------

其實上邊兩行可以寫為一步

>db.user .save({  uid: db.ids .findAndModify({    update:{$inc:{'id':1}},    query:{"name":"user"},    new:true}).id, //讓db.ids集合中的name="user"文檔的id值加1并返回充當自增id  username: "dotcoo",  password:"dotcoo",  info:"http://www.49028c.com/  "});// --------- update 2011-03-27 13:11 ------------------------

查看結果

> db.user.find();{ "_id" : ObjectId("4c637f79900f00000000686d"), "uid" : 1, "username" : "admin", "password" : "admin" }

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

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

<?phpfunction mid($name, $db){  $update = array('$inc'=>array("id"=>1));  $query = array('name'=>$name);  $command = array(      'findandmodify'=>'ids', 'update'=>$update,      'query'=>$query, 'new'=>true, 'upsert'=>true  );  $id = $db->command($command);  return $id['value']['id'];}$conn = new Mongo();$db = $conn->idtest;$id = mid('user', $db);$db->user->save(array('uid'=>$id, 'username'=>'kekeles', 'password'=>'kekeles', 'info'=>'http://www.49028c.com/ '));$conn->close();?>

其具體實現方式主要是利用MongoDB中findAndModify命令,只要每次往MongoDB里insert對象前生成ID賦值給_id就OK了,因為它的實現滿足原子性,所以不存在并發問題。

另外說明一點,findAndModify本身提供了一個upsert參數,為true的話可以自動insert,但那樣就不能自定義初始值了,所以文中示例沒有使用upsert。

BTW,數據庫“_seq”的名字以下劃線開頭,這樣列表的時候會排在前面,容易分辨。

希望本文所述對大家MongoDB數據庫程序設計有所幫助。


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产v综合ⅴ日韩v欧美大片| 亚洲成年人在线| 日本在线观看天堂男亚洲| 精品国产一区av| 国产精品福利在线| 欧美日韩免费看| 亚洲一区二区三区四区在线播放| 亚洲最大av网| 日本成人黄色片| 黑人精品xxx一区| 欧美在线欧美在线| 久久久国产精品亚洲一区| 日韩精品中文字幕久久臀| 国产成人一区二区三区小说| 亚洲天堂av在线免费| 日韩av在线免播放器| 久久久久久久国产精品| 日韩一二三在线视频播| 亚洲女人被黑人巨大进入| 97在线免费观看视频| 国a精品视频大全| 日韩欧美综合在线视频| 性欧美在线看片a免费观看| 国产欧美久久久久久| 欧美成人精品在线| 精品国产欧美一区二区三区成人| 2023亚洲男人天堂| 成人亚洲欧美一区二区三区| 海角国产乱辈乱精品视频| 欧美日韩国产精品一区| 91中文精品字幕在线视频| 国产一区二区三区毛片| 欧美国产日韩在线| 尤物精品国产第一福利三区| 国产欧美日韩精品在线观看| 久久九九国产精品怡红院| 91亚洲精品久久久| 国产精品成人aaaaa网站| 亚洲综合精品伊人久久| 国产一区二区三区欧美| 91精品综合久久久久久五月天| 欧美成人小视频| 亚洲精品免费一区二区三区| 成人高h视频在线| 一级做a爰片久久毛片美女图片| 精品一区二区三区四区| 国产欧美精品一区二区三区-老狼| 欧美激情一二区| 成人xvideos免费视频| 亚洲精选在线观看| 欧美壮男野外gaytube| 国产精品久久久久福利| 久久久精品国产| 国产亚洲一区精品| 亚洲精品福利在线| 国产在线久久久| 伊人久久久久久久久久久久久| 人妖精品videosex性欧美| 久久99精品久久久久久青青91| 亚洲视频欧洲视频| 国产亚洲欧美视频| 欧美精品18videos性欧美| 久久国产精品久久久| 日韩欧美一区二区三区久久| 国产精品久久久久久久久借妻| 欧美在线观看网站| 国产欧美日韩亚洲精品| 久久伊人色综合| 欧美日韩中文字幕日韩欧美| 国产精品男女猛烈高潮激情| 国产视频精品va久久久久久| 亚洲第一精品夜夜躁人人爽| 久久全球大尺度高清视频| 午夜精品久久久久久久男人的天堂| 亚洲欧美在线磁力| 久久免费视频网站| 中文字幕精品久久| 亚洲欧美在线看| 国产欧美精品一区二区三区-老狼| 欧美午夜视频在线观看| 亚洲欧美日韩视频一区| 国产噜噜噜噜久久久久久久久| www国产亚洲精品久久网站| 国产91精品高潮白浆喷水| 中文精品99久久国产香蕉| 国产精品午夜一区二区欲梦| 日韩精品在线观看网站| 亚洲综合中文字幕68页| 一个人看的www久久| 欧美裸体视频网站| 亚洲在线免费看| 国产精品一区二区三区在线播放| 亚洲精品久久视频| 8050国产精品久久久久久| 亚洲永久免费观看| 日本sm极度另类视频| www.99久久热国产日韩欧美.com| 丁香五六月婷婷久久激情| 欧美黑人又粗大| 成人有码在线播放| 热草久综合在线| 欧美日韩高清区| 欧美第一黄网免费网站| 欧美麻豆久久久久久中文| 97热精品视频官网| 久久国产精品亚洲| 日日摸夜夜添一区| 国产一区视频在线播放| 欧美日韩免费区域视频在线观看| 亚洲欧美综合精品久久成人| 97精品一区二区视频在线观看| 中文字幕亚洲欧美日韩在线不卡| 欧美最顶级丰满的aⅴ艳星| 欧美日韩国产综合视频在线观看中文| 欧美伊久线香蕉线新在线| 亚洲精品日韩激情在线电影| 欧美日韩国产麻豆| 亚洲欧洲xxxx| 成人网页在线免费观看| 在线视频免费一区二区| 欧美专区在线观看| 成人亚洲欧美一区二区三区| 欧美视频第一页| 红桃视频成人在线观看| 日韩高清电影免费观看完整| 欧美日韩亚洲精品内裤| 日韩精品中文字幕在线| 欧美成人免费va影院高清| 91在线观看免费高清完整版在线观看| 欧美精品电影在线| 中文字幕综合一区| 日韩欧美国产成人| 国产精品国产三级国产aⅴ浪潮| 成年无码av片在线| 色综合男人天堂| 国产精品视频免费观看www| 成人亚洲欧美一区二区三区| 国产一区二区黄| 国产亚洲精品成人av久久ww| 日韩国产激情在线| 亚洲国产成人久久综合一区| 亚洲欧洲在线视频| 亚洲乱码av中文一区二区| 国产这里只有精品| 日本19禁啪啪免费观看www| 日韩性xxxx爱| 日韩在线视频观看正片免费网站| 久久久亚洲精选| 亚洲欧洲偷拍精品| 国产精品一区二区三区久久久| 亚洲精品美女久久| 欧美日韩成人网| 国产成人一区二区三区| 欧美精品激情blacked18| 国产亚洲精品一区二555| 91精品在线看| 精品国偷自产在线视频| 精品久久久久久中文字幕| 亚洲精品美女在线观看播放| 日韩电视剧在线观看免费网站| 91成人国产在线观看| 久久久免费高清电视剧观看| 日韩免费av片在线观看| 欧美巨乳美女视频|