Дубликаты Mongoose с уникальным ключом схемы

Я хочу сделать ключевой проект уникальным в этой коллекции, но у меня это не работает, я обнаружил аналогичную проблему здесь.

] task.js

function make(Schema, mongoose) {

    var Tasks = new Schema({
        project: { type: String, index: { unique: true, dropDups: true }},
        description: String
    });

    mongoose.model('Task', Tasks);
}
module.exports.make = make;

test.js

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/rss');

var Schema = mongoose.Schema
  , ObjectId = Schema.ObjectId;

require('./task.js').make(Schema, mongoose);
var Task = mongoose.model('Task');
var newTask = new Task({
    project: 'Starting new project'
  , description: 'New project in node'
});
newTask.save(function(err) {
    if (err) console.log('Error on saving');
});

mongoose.disconnect();

Когда я запускаю приложение с node test.js, все равно создаются дубликаты.

MongoDB shell version: 2.0.2
connecting to: rss
> db.tasks.find()
> db.tasks.find()
{ "project" : "Starting new project", "description" : "New project in node", "_id" : ObjectId("4f21aaa3d48d4e1533000001") }
{ "project" : "Starting new project", "description" : "New project in node", "_id" : ObjectId("4f21aaa4d9a8921a33000001") }
{ "project" : "Starting new project", "description" : "New project in node", "_id" : ObjectId("4f21aaa57ebeea1f33000001") }

// Редактируем все ту же проблему, вот что я пытался сделать удалить коллекцию db.tasks.drop () перезапустите mongo sudo, остановите mongodb и запустите mongodb, снова запустил программу и все та же проблема, как это позволяет дублировать данные в индексе?

22
задан Risto Novik 29 January 2012 в 20:54
поделиться