如何清空集合,重建索引,然后再次填充集合?

时间:2019-04-25 09:57:23

标签: azure-cosmosdb azure-cosmosdb-mongoapi

Azure(Cosmos DB)does not support creating/rebuilding/dropping unique indexes中包含文档的集合上的MongoDB API。如果对集合中的文档进行脚本化架构更改时这是一个真正的问题,但是更改会影响索引。在这些情况下,我想先删除冲突索引,然后再进行更改,然后再创建或重建索引。一个例子是:

db.collection('example').dropIndexes(() => {
  db.collection('example').find().toArray(function (err, docs) {

    // Do changes to docs here, create new index etc.

  }
}

由于在Azure中无法做到这一点(dropIndexes()将失败),可能的解决方法是什么?我可以在删除文档时以某种方式将它们保留在内存中,然后更改索引,然后再重新插入它们吗?还是将它们移到另一个临时集合中,然后在完成后移回它们?如果是这样,我可以保留_id个吗?

0 个答案:

没有答案