sql >> Databáze >  >> NoSQL >> MongoDB

Jak uložit tříděné pole zpět do MongoDB?

Verze 2.4 MongoDB zde poskytuje další možnost, a to udržovat pole pole v seřazeném pořadí při jeho aktualizaci pomocí $sort modifikátor.

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

Výsledkem budou prvky myarray pole aktualizovaného dokumentu k uložení seřazené vzestupně timestamp .

Pokud chcete pouze seřadit stávající prvky na místě bez přidávání nových, použijte $each: [] :

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


  1. Filtrujte kolekci MongoDb, pokud se pole pole a pole argumentů protínají

  2. Shluky RedisTimeoutException pomocí StackExchange.Redis

  3. MongoDB $existuje

  4. Možnost Redis-cli --csv (export do csv)