Mongoose / mongoDB删除唯一索引约束

时间:2016-07-16 04:28:36

标签: mongodb indexing mongoose

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

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

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

我唯一能想到的就是做

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

这是对的吗?或者编写代码的方式更少令人困惑..

3 个答案:

答案 0 :(得分:2)

docs

中所述
  

要修改现有索引,您需要删除并重新创建索引   m tTL索引除外。

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

答案 1 :(得分:0)

是的,这是正确的放弃方式。你可以从mongo客户端做到这一点。

或来自此类

的节点服务器
Model( { {name: 1, location: 1} }, function(err){
     if(err){
         res.send("error");
    }
    else{
        res.send("success");
    }
});

答案 2 :(得分:0)

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