Create an Index for a document inside array inside document in MongoDB

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:


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:……)} could not be cloned.

>Solution :

Unfortunately, that is not possible. The index only works across multiple documents. You can have repeating values within the same document.

See this.

Leave a Reply