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

Jak wysyłać zapytania tylko do dokumentów z najnowszym znacznikiem czasu z grupy?

Mieszasz tutaj kilka metod, kiedy możesz robić wszystko w potoku agregacji. W przeciwnym razie wystarczy postawić kroki we właściwej kolejności:

db.collection.aggregate([
    {$sort: { createdOn: -1 }},
    {$group: { _id: "$itemId", 
        createdOn: {$first: "$createdOn"},
        field1: {$first: "$field1" },
        field2: {$first: "$field2" }
    }},
    {$match: { field1: "foo" }}
])

Więc najpierw posortuj najnowsze dokumenty. Grupuj na itemId (zamówienie będzie utrzymywane najpierw dla $), a następnie filtruj za pomocą $match, jeśli musisz. Ale Twoje zgrupowane dokumenty będą najnowszymi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uzyskiwanie różnicy w sekundach od dwóch dat w JavaScript

  2. konwertowanie z bloba na binarny, aby zapisać go w mongodb

  3. Ignoruj ​​połączenie z gniazdem MongoDB podczas testu wiosennego

  4. Jak uzyskać datę utworzenia kolekcji MongoDB przy użyciu sterownika MongoDB C#?

  5. Jak podłączyć kontener docker nodeJS do mongoDB?