Создайте индекс для многоключевого и вложенного документа с помощью мангуста

Я создаю индекс с помощью мангуста, он проверит уникальность имени, PName и OName (имя + PName + OName должно быть уникальным). Пожалуйста, проверьте ниже реализацию

var MySchema = new mongoose.Schema({
                    Name: { type: String, required: true},
                    Details: [{
                        PName: { type: String, required: true},
                        OName: { type: String, required: true}
                    }]
                });

MySchema.index({Name: 1, Details.PName: 1, Details.OName:1 }, {unique: true});

Документ

{"Name" : "Testing123","Details" : [{"PName" : "Page1", "OName" : "Ob1"}, 
    {"PName" : "Page1", "OName" : "Ob1"}]}

Мне нужно ограничить указанный выше документ для вставки, поскольку имя, PName и OName не уникальны.


person Shweta12345    schedule 28.03.2017    source источник
comment
После создания уникального индекса монго выдаст ошибку, если вы попытаетесь вставить повторяющиеся данные, и вы можете поймать ее в своем коде.   -  person Dan Ionescu    schedule 28.03.2017
comment
В поддокументе Details у меня есть два объекта с одинаковыми PName и OName, нужно ограничить эту запись. Успешно удалось создать индекс для этого, но он не работает с несколькими объектами в поддокументе   -  person Shweta12345    schedule 28.03.2017
comment
Похоже, что они не будут обеспечивать уникальность вложенных документов, проверьте этот ответ   -  person Dan Ionescu    schedule 28.03.2017