MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да осигурим уникален елемент в масив, базиран на конкретни полета - mongoDB?

Мустафа, уникалните ограничения не се прилагат в рамките на един масив, въпреки че се прилагат между документи в колекция. Това е известна грешка, която няма да бъде коригирана известно време:

https://jira.mongodb.org/browse/SERVER-1068

Все пак има решение. Поддържайте своя уникален индекс на място и:

1) Уверете се, че приложението ви не вмъква нови документи с дублиращи се стойности в масива. Можете да проверите за уникалност в кода на приложението си, преди да го вмъкнете.

2) Когато актуализирате съществуващи документи, използвайте $addToSet вместо $push.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да накарам Spring-Data-MongoDB да валидира моите обекти?

  2. ScaleGrid обявява MongoDB хостинг услуги в Канада

  3. Запитване на MongoDB за съвпадение в първия елемент в масива

  4. Как да върна актуализиран документ от метода findOneAndUpdate?

  5. Mongoose:Сравненията на ObjectId се провалят непоследователно