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

MongoDB Update element tablicy (dokument z kluczem), jeśli istnieje, w przeciwnym razie push

Możesz użyć $addToSet aby dodać element do tablicy i $set aby zaktualizować istniejący element w tej tablicy.

Poniższe doda nowy element do tablicy, jeśli userID nie znaleziono w tablicy :

db.doc.update({
    visits: {
        "$not": {
            "$elemMatch": {
                "userID": 4
            }
        }
    }
}, {
    $addToSet: {
        visits: {
            "userID": 4,
            "time": 1482607614
        }
    }
}, { multi: true });

Poniższe zaktualizuje element tablicy dokumentu podrzędnego, jeśli pasuje do userId :

db.doc.update({ "visits.userID": 2 }, {
    $set: {
        "visits.$.time": 1482607614
    }
}, { multi: true });



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Używanie MongoDB wygenerowanych _ids jako tajnych danych (np. tokenów OAuth)

  2. jak mogę przepisać moje zapytanie z mangusty po podzieleniu danych z jednego modelu na dwa?

  3. MongoDB - za dużo danych dla sort() bez błędu indeksu

  4. Tablica Mongodb $push i $pull

  5. Jak w MongoDB mogę sortować dokumenty na podstawie właściwości w osadzonym obiekcie?