我正在尝试使用flask-mongoengine和mongohq,但是我很难让它正确地声明我的文件。
我已经声明了这样的db文档:
class numbers(nodb.Document):
numbers = nodb.StringField(required=True)
simple_date = nodb.DateTimeField(required=True, unique=True, primary_key=True)
date = nodb.DateTimeField(default=datetime.now, required=True)
现在当我在文档中添加一个条目时,它没有接受我的_id,甚至承认我已经输入了unique或key要求。
test = numbers(
_id=datetime.strptime(currentdate, "%m/%d/%Y").date(),
simple_date=datetime.strptime(currentdate, "%m/%d/%Y").date(),
numbers='12345'
)
test.save()
现在,如果我再次执行这些行,它会在db中创建另一个相同的条目,并且对simple_date的要求似乎被忽略。不确定我是在这里遇到错误还是做错了什么?
答案 0 :(得分:1)
Mongoengine
必须创建索引。 Mongoengine
不关心数据迁移。因此,如果您最初创建没有索引的集合,然后在模型中描述索引,则索引不会自动创建。对于您的情况,您必须手动创建索引,或者在没有必要的数据时,尝试仅为开发数据库删除numbers
集合。