Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die benutzerdefinierte Mongodb-Generierung von sich selbst erhöhenden IDs

PHP implementiert die benutzerdefinierte Mongodb-Generierung von sich selbst erhöhenden IDs

*文
*文Original
2017-12-26 10:32:562468Durchsuche

Wie implementiert man die benutzerdefinierte Mongodb-Generierung einer sich selbst erhöhenden ID in PHP? In diesem Artikel wird hauptsächlich vorgestellt, wie PHP die benutzerdefinierte Methode von Mongodb zum Generieren von Auto-Inkrement-IDs implementiert. Er analysiert die Implementierung der Auto-Inkrement-Felder und der entsprechenden PHP-Methoden anhand von Beispielen. Ich hoffe, es hilft allen.

Das Beispiel in diesem Artikel beschreibt die Methode zum Generieren einer selbsterhöhenden ID auf die benutzerdefinierte Weise von Mongodb in PHP. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

//首先创建一个自动增长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.jb51.net/ "});
//查看结果
> db.user.find();
{ "_id" : ObjectId("4c637f79900f00000000686d"), "uid" : 1, "username" : "admin", "password" : "admin" }
//这是mongo的shell,如果用的是服务器端程序java php python,可以自己对这些操作封装一下,只用传几个参数就可以返回自增的id,还可以实现像Oracle的跨表的自增id。

Ich habe selbst ein Stück PHP geschrieben und es mit allen geteilt.


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

Verwandte Empfehlungen:

Detaillierte Erklärung, wie PHP MongoDB GridFS Dateien speichert

PHP-Mongodb-Operationsklasse mit mehreren einfachen Beispielen

Analyse: bei Verwendung der PHP-Mongodb-Erweiterung Things zum Hinweis_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonPHP implementiert die benutzerdefinierte Mongodb-Generierung von sich selbst erhöhenden IDs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn