N letzte Datensätze erhalten

8

Wie bekomme ich die neuesten Aufzeichnungen mit meteors mongodb?

Ich weiß, ich könnte es mit normalem Mongodb machen: db.foo.find().sort({_id:1}); , also dachte ich, das würde mit dem Meteor funktionieren: collection.find({chatroom: Session.get("room")}, {sort: {_id:1}, limit: N }) .

Aber das gibt nur einige "zufällige" Dokumente zurück. Ich denke, sie sind die 10 Datensätze mit dem niedrigsten Wert _id, wie _id = aaaaa und _id = aaaab.

Was fehlt mir hier? Im normalen Mongodb ist sein Superasy?!

    
tobbe 26.06.2013, 11:01
quelle

2 Antworten

9

Verwenden Sie $natural sort specifier von mongoDB.

%Vor%

Die natürliche Reihenfolge ist eine Reihenfolge, in der die Datenbank Dokumente auf der Festplatte speichert. In der Regel ein Anzeigenauftrag.

Ich verwende date_created value zum normalen Sortieren. Da sich die natürliche Reihenfolge manchmal ändert, wenn Sie update -Operationen für vorhandene Dokumente ausführen.

    
sohel khalifa 26.06.2013, 11:59
quelle
4

Ich bin auch am Limit hängengeblieben (ich denke, es ist ein Meteor-Bug). Am Ende habe ich diese Funktion geschrieben:

%Vor%

Das Timestamp-Feld ist wie folgt definiert:

%Vor%     
Sebastian 23.07.2013 14:15
quelle

Tags und Links