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
个吗?