Let's say I have this document:
{
"_id": objectId(),
"products": [
{
"product_id": ""
}
]
}
I would like to make that the key product_id
of documents in the array products
must be unique for that document in the collection, (i don't want it to affect other documents in the collection).
I tried to use the next command in mongosh console:
db.season.createIndex({products.product_id:1},{unique:true})
But it doesn't work. the console says:
Error: clone(t={}){const r=t.loc||{};return e({loc:new Position("line"in r?r.line:this.loc.line,"column"in r?r.column:...<omitted>...)} could not be cloned.
Unfortunately, that is not possible. The index only works across multiple documents. You can have repeating values within the same document.
See this.