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

Jak przechowywać posortowaną tablicę z powrotem do MongoDB?

Wersja 2.4 MongoDB udostępnia tutaj inną opcję, która polega na utrzymywaniu pola tablicy w posortowanej kolejności podczas aktualizacji za pomocą $sort modyfikator.

db.collection.update({_id: document_id}, {
    $push: {
        myarray: {
            $each: [{timestamp: 456, x: 1}, {timestamp: 123, x: 2}, ...],
            $sort: {timestamp: 1}
        }
    }
});

Spowoduje to powstanie elementów myarray pole zaktualizowanego dokumentu do przechowywania posortowane rosnąco timestamp .

Jeśli chcesz po prostu posortować istniejące elementy na miejscu bez dodawania nowych, użyj $each: [] :

db.collection.update({_id: document_id}, {
    $push: {
        myarray: {
            $each: [],
            $sort: {timestamp: 1}
        }
    }
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. połączenie z mongoDB

  2. Automatyzacja i zarządzanie MongoDB w chmurze

  3. Jak przetwarzać żądania wstawiania w Spring Data przed dodaniem ich do MongoDB?

  4. Pasek:należy podać źródło lub klienta

  5. Jak używać arrayFilters z mangustą 5.x.x?