Maison  >  Article  >  développement back-end  >  pymong 实现自增长id

pymong 实现自增长id

巴扎黑
巴扎黑original
2016-12-09 09:46:112073parcourir

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=True)  

得到的id就可以用了,而且也不用担心多线程的问题

不过这一个用户表要维护两个表,是有点不方便。

差不多用就行了,为一个问题浪费太多时间不值得。

 

3.关于find_and_modify 方法:

http://api.mongodb.org/python/current/api/pymongo/collection.html

find_and_modify(query={}, update=None, upsert=False, sort=None, full_response=False, **kwargs)


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:python的bind函数Article suivant:python备份文件