この記事では、自己増加IDを生成するMongodbのカスタムメソッドをphpで実装する例について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
コードをコピーします コードは次のとおりです: //最初に、自動的に増加する ID コレクション ID を作成します
>db.ids.save({name:"user", id:0});
//成功したかどうか確認できます
> db.ids.find();
{ "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : "user", "id" : 0 }
//その後、新しいユーザーを追加する前に毎回、ID コレクションを増やして ID を取得します
>userid = db.ids.findAndModify({update:{$inc:{'id':1}}, query:{"name":"user"}, new:true});
{ "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : "ユーザー", "id" : 1 }
//注: findAndModify は更新と検索の 2 つの操作を完了するメソッドであるため、アトミックであり、マルチスレッドが競合することはありません。
//その後、対応するデータを保存します
>db.user.save({uid:userid.id, ユーザー名:"kekeles", パスワード:"kekeles", 情報:"http://www.bkjia.com/ "});
//結果を見る
> db.user.find();
{ "_id" : ObjectId("4c637f79900f00000000686d")、"uid" : 1、"ユーザー名" : "admin"、"password" : "admin" }
//これは mongo シェルです。サーバー側プログラム java php python を使用している場合は、いくつかのパラメータを渡すだけで自動インクリメント ID を返すことができ、cross を実装することもできます。 -Oracle の自動インクリメント ID のようなテーブル処理。
私は自分で php を書き、それをみんなと共有しました。
リーリーこの記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。