我正在用flask和mongoengine开发一个博客引擎,我需要我的文章的顺序id。
我需要MongoEngine为每个新帖子创建一个新ID,所以我想做这样的事情:
class Post(Document):
title = StringField(required=True)
content = StringField(required=True)
published_at = datetime.utcnow()
id = Post.objects.count() + 1
这行吗?有更好的办法吗?
最佳答案
首先,你需要理解为什么你需要增量id?他们解决了什么?
MongoDB中没有本机解决方案-请阅读:http://www.mongodb.org/display/DOCS/How+to+Make+an+Auto+Incrementing+Field
既然您已经有了一个带有pk
的post的唯一标识符,为什么不使用它呢?
最后,如果我没有劝阻您不要做蠢事,MongoEngine中有一个SequenceField
可以为您处理递增。https://mongoengine-odm.readthedocs.org/en/latest/apireference.html#mongoengine.fields.SequenceField
关于python - 使用MongoEngine自动增量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9238638/