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

MongodDB $ изтегля само един елемент от масива

Не, в момента няма нищо подобно. Много хора вече поискаха функцията и можете да я проследите в mongodb Jira . Доколкото можете да видите, това не е разрешено и не е планирано (което означава, че нямате късмет в близко бъдеще).

Единствената възможност е да се използва логиката на приложението, за да се постигне това, ще бъде:

  1. намерете елемент, който искате и който има userTags като foo
  2. итерация през userTags и премахване на едно foo от него
  3. актуализирайте този елемент с нови потребителски маркери

Имайте предвид, че тази операция нарушава атомарността, но тъй като Mongo не е предоставил собствен метод за това, вие ще нарушите атомарността по всякакъв начин.

Преместих едно алтернативно решение към новия отговор, тъй като то не отговаря на този въпрос, а представлява един от подходите за преработване на съществуваща схема. Освен това стана толкова голям, че започна да бъде много по-голям от първоначалния отговор.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Достатъчно бърз и надежден ли е GridFS за производство?

  2. Запазване на масив (от „тагове“) в MongoDB с помощта на Mongoose

  3. mongorestore от самостоятелен към replicaset

  4. MongoDB - Разлика между индекс на текстово поле и текстов индекс?

  5. MongoDB:актуализирайте целия документ с изключение на _id с помощта на C# драйвер