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

Nie można zaktualizować danych w mongodb

Twoja update oświadczenie jest nieprawidłowe, zawiera źle umieszczone argumenty - umieszczasz wiele $set operacje i opcje jako różne parametry do metody aktualizacji; powinny podlegać oddzielnym wyznaczonym parametrom aktualizacji. Poprawna składnia Node.js jest:

update(selector, document, options, callback)

gdzie selector jest obiektem będącym selektorem/zapytanie dla operacji aktualizacji, document to także obiekt będący dokumentem aktualizacji i wreszcie options obiekt, który domyślnie ma wartość null i ma opcjonalne ustawienia aktualizacji.

Tutaj robisz

update(selector, document, selector, document, options, options, callback)

W którym mongo aktualizuje kolekcję, używając pierwszych dwóch parametrów jako poprawnych i naturalnie zgłasza błąd

ponieważ określono zbyt wiele nieprawidłowych parametrów.

Ponadto masz nieprawidłowe użycie operatora pozycyjnego. Powinien być częścią aktualizowanego dokumentu, a nie zapytania.

Aby uzyskać prawidłową implementację, postępuj zgodnie z tą aktualizacją

db.getCollection('profiles').update(
    /* selector  */
    {
        "_id": ObjectId("57a9aa24e93864e02d91283c"),
        "ratings.round": 1
    }, 
    /* update document */
    {
        "$set": {
            "presentRound": 2,
            "interviewStatus": "in process",
            "scheduleInterviewStatus": false,
            "ratings.$.roundStatus": "selected"    
        }
    },
    /* optional settings */
    { upsert: true, multi: true }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można uzyskać własności z obiektu mangusty

  2. Mongo:znajdź poddokument bez notacji kropkowej

  3. mongodb schema.createIndex nie jest funkcją

  4. MongoDB $project:Zachowaj poprzednie pola potoku

  5. zbiór A który ma obcokrajowca z B, B ma obcokrajowca z kolekcją C, jak mogę sprowadzić obcokrajowca z A do zbioru C?(Zagregowane)