MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Błąd Mongodb:operator pozycyjny nie znalazł dopasowania wymaganego z zapytania

Musisz dołączyć pole tablicy jako część dokumentu zapytania, aby użyć positional operator .

Na przykład, jeśli chcesz zaktualizować pierwszy element tablicy, np. za pomocą { "attributes.name": "x" } wtedy możesz podążać za wzorem:

db.spaces.update(
   { "attributes.name": "x" }, // <-- the array field must appear as part of the query document.
   { "$set": { "attributes.$.weight": 2 } },
   { "multi": true }
)

Dla nowszych wersji MongoDB 3.2.X , możesz użyć updateMany() metoda aktualizacji wielu dokumentów w kolekcji na podstawie powyższego filtra.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:Przesyłanie do tej pory nie powiodło się podczas aktualizacji dokumentu

  2. Spring Data MongoDB - Gdzie programowo utworzyć indeks dla kolekcji Mongo?

  3. Użyj createView z allowDiskUse

  4. Jak zaktualizować tablicę dokumentów podrzędnych w kolekcji MongoDB w MeteorJS?

  5. Wykonywanie zapytań w MongoDB za pomocą znaków greckich przy użyciu JavaScript zwraca brak wyników