Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Mongoengine何时重建索引?_Python_Mongodb_Mongoengine - Fatal编程技术网

Python Mongoengine何时重建索引?

Python Mongoengine何时重建索引?,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,Mongoengine何时重建(更新)有关索引的信息?我的意思是,如果在模型声明中添加或更改了一些字段(添加了uniques或稀疏选项)或添加了一些元信息。 所以问题是: mongoengine什么时候更新 他们如何跟踪变化 Mongoengine不会自动重建索引。Mongoengine跟踪模型中的更改(顺便说一句,如果您将sparse添加到您的字段(如果字段没有unique选项),则不起作用),然后在mongoDB中启动ensureIndex。但当它着火时,请确保手动删除mongoDB中最旧

Mongoengine何时重建(更新)有关索引的信息?我的意思是,如果在模型声明中添加或更改了一些字段(添加了uniques或稀疏选项)或添加了一些元信息。 所以问题是:

  • mongoengine什么时候更新
  • 他们如何跟踪变化

Mongoengine不会自动重建索引。Mongoengine跟踪模型中的更改(顺便说一句,如果您将
sparse
添加到您的字段(如果字段没有
unique
选项),则不起作用),然后在mongoDB中启动
ensureIndex
。但当它着火时,请确保手动删除mongoDB中最旧的索引版本(Mongoengine不这样做)

问题是:

  • 如果您将
    sparse
    添加到文件w.o
    unique
    选项-此更改不会映射到mongoDB索引中。您需要组合
    unique=True,sparse=True
  • 如果在模型中更改索引,则需要手动删除mongoDB中的旧索引

请参见-我已经检查过了,从V0.9开始这仍然是正确的。0@SteveRossiter谢谢,伙计。但删除后何时重新创建?有什么信息吗?:)