【问题标题】:Mongoose / mongoDB drop unique index constraintMongoose / mongoDB 删除唯一索引约束
【发布时间】:2016-11-19 08:22:29
【问题描述】:

我之前在我的数据库中使用 Mongoose 创建了一个唯一索引。

Model.index({name: 1, location: 1}, {unique: true});

现在由于一些编码更改,我想删除索引的唯一性。有没有办法只删除索引上的唯一性?

我唯一能想到的就是去做

Model.dropIndex({name: 1, location: 1});
Model.index({name: 1, location: 1});

这是正确的吗?或者有没有更容易混淆的方式来编写代码..

【问题讨论】:

    标签: mongodb indexing mongoose


    【解决方案1】:

    是的,如docs中所述:

    要修改现有索引,您需要删除并重新创建索引 除了 m 个 TTL 索引。

    所以你的代码暂时是正确的。也许将来他们会增加更改它的可能性。

    【讨论】:

      【解决方案2】:

      是的,这是正确的丢弃方式。您可以从 mongo 客户端执行此操作。

      或像这样从节点服务器

      Model( { {name: 1, location: 1} }, function(err){
           if(err){
               res.send("error");
          }
          else{
              res.send("success");
          }
      });
      

      【讨论】:

        【解决方案3】:

        如果您使用像 RoboMongo 这样的 UI 工具,您可以将其从其 UI 中删除

        【讨论】:

          猜你喜欢
          • 2012-09-02
          • 1970-01-01
          • 2015-12-29
          • 2011-03-18
          • 2021-11-02
          • 1970-01-01
          • 2014-07-22
          • 2011-11-23
          • 2018-12-02
          相关资源
          最近更新 更多