我正在用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/

10-09 17:40
查看更多