Python flask mongoengine和文档不接受唯一或主键参数
我正在试用flask mongoengine和mongohq,但在正确申报我的文档时遇到了一些困难 我已经声明了一个db文档,如下所示:Python flask mongoengine和文档不接受唯一或主键参数,python,mongoengine,flask-mongoengine,Python,Mongoengine,Flask Mongoengine,我正在试用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.DateTi
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,甚至不会承认我已经输入了唯一的或主要的_密钥要求
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上的要求似乎被忽略。不确定我是遇到了错误还是只是做错了什么?
如果集合还不存在,Mongoengine必须创建索引Mongoengine
不考虑数据迁移。所以,若您首先创建了并没有索引的集合,然后在模型中描述索引,那个么索引不会自动创建。对于您的情况,您必须手动创建索引,或者仅当不需要数据时,才尝试删除您的编号集合,看起来您没有唯一索引。你能显示什么打印db.numbers.getIndexes()在mongo控制台中为您的数据库编写代码>我得到了getIndexes()的空列表。mongoengine不是根据定义为我创建索引吗?我想到了这一点,我经历了几次迭代,尝试只使用unique,或者只使用primary_键,每次我都删除集合以便它再次构建它,但它仍然不会为我创建新的索引。我还发现了另一个引用,其中包含一个用于声明索引的元标记,但这似乎也不起作用。我想知道我正在使用的mongohq db是否可能不允许我进行创建?