Use comillas alrededor de "nesteddoc.field1"
para evaluar el campo anidado:
PostSchema.index({ "nesteddoc.field1": 1 }, { unique: true });
Además, mongoose llamará a ensureIndex
internamente, desde mongoose doc
:
También puede definir el índice en el esquema:
var PostSchema = new mongoose.Schema({
title: String,
link: String,
author: { type: String, required: true },
upvotes: { type: Number, default: 0 },
nesteddoc: {
field1: { type: String, unique: true, index: true },
}
});