gpt4 book ai didi

MongoDB 如何将索引定义从一个集合复制到另一个集合?

转载 作者:IT老高 更新时间:2023-10-28 13:33:03 25 4
gpt4 key购买 nike

我知道有一种方法可以执行 db.collection.getIndexes() ,它将列出为集合定义的所有索引。有没有办法将这些索引定义复制并创建到另一个集合?

有很多,我不想一个一个做。

关于重复的问题评论:我不想复制一个集合。我希望以可以应用于另一个集合的格式导出索引。

最佳答案

例如,我有一个现有的 user 集合,其中包含索引 _id_name_1email_1网站_1

然后我有另一个名为 usertest 的集合,我想将索引从 user 集合复制到 usertest 集合。以下命令适用于这种情况:

  1. 复制索引键和索引选项

    var indexes = db.user.getIndexes();

    indexes.forEach(function(index){
    delete index.v;
    delete index.ns;
    var key = index.key;
    delete index.key
    var options = [];
    for (var option in index) {
    options.push(index[option]);
    }
    db.usertest.createIndex(key, options);
    });
  2. 仅复制索引键(批处理)

    var indexKeys = db.user.getIndexKeys();
    db.usertest.createIndexes(indexKeys);

希望这会有所帮助。这是文档:createIndexes

关于MongoDB 如何将索引定义从一个集合复制到另一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43150231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com