如何避免在mongoose中重复的条目

我正在用mongoose创build一个新的模式,并尝试从用户那里获得input。 我希望没有重复的条目正在更新serverIP ,因为unique : true添加了unique : true 。 但是,这不能按预期工作,重复条目正在通过。

以下是示例代码:

 var mongoose = require('mongoose'), Schema = mongoose.Schema; var ServerSchema = new Schema({ serverIp: { type : String , unique : true }, Name: { type: String }, serverType: {type: String , required : true }, created_date: {type: Date, default: Date.now}, updated_date: {type: Date, default: Date.now} }); 

我已经检查过CreateIndexfunction,但不知道如何用我的代码来实现。

我从来没有在后端工作,所以请原谅,如果这是一个新手的问​​题。

看起来你已经做了独特的索引(在架构级别)后,在数据库中插入一些logging。

请按照以下步骤避免重复。

1)放下你的分贝:

$ mongo

 > use <db-name>; > db.dropDatabase(); 

2)现在在您已经完成的模式级别进行索引。

它将避免重复的logging插入与相同的字段serverIp(在你的情况下)值。

为了确保索引,请使用命令

 > db.db_name.getIndexes() 

尝试在字段serverIp上创build唯一的索引,

 ServerSchema.index({serverIp: 1}, {unique: true}); 

创build模式后,必须重新启动mongo。

我有同样的问题试图添加独特的:真正的我的文章标题。 我放弃了数据库,重新启动我的本地服务器,并在我的terminal重新启动了mongo。 这是我看来唯一的工作。