1.解決方案官網提供的
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
大概意思是新建一個表,專門存最大userid。每次取一個id,就+1,這樣也不會重複
2.pymongo 實作
程式碼如下,注意,第一次是回傳{},然後是1-2-3...
Python程式碼
print db.usercounter.find_and_modify({"_id": "users"}, update={ "$inc": {'count': 1}},upsert)={ "$inc": {'count': 1}},upsert 用了,而且也不用擔心多執行緒的問題
不過這一個用戶表要維護兩個表,有點不方便。
差不多用就行了,為一個問題浪費太多時間不值得。
3.關於find_and_modify 方法:
http://api.mongodb.org/python/current/api/pymongo/collection.html
find_and_mod(Mquerym) sort=None, full_response=False, **kwargs)