Ich versuche, alle Dokumente in einer Sammlung zurückzugeben, um sie mit einem {{#each}} in meiner Vorlage zu verwenden. Mein Code sieht so aus:
return Answers.find({}, {sort: {$natural:-1}})
Aber die Dokumente werden in natürlicher Reihenfolge zurückgegeben (nicht umgekehrt). Weiß jemand warum? Ich habe den $ natürlichen Selektor aus der MongoDB-Dokumentation bekommen, also sehe ich nicht, was falsch ist.
Kann nicht sagen, warum es nicht in umgekehrter Reihenfolge zurückkehrt.
Sie können jedoch ein Array in der Template-Hilfsmethode erstellen und die Umkehrung eines Arrays mithilfe von array.sort()
oder array.reverse()
functions zurückgeben.
Zum Beispiel: Sagen Sie, dass Answers
collection wie folgt aussieht:
Und das Array zurückgegeben werden:
%Vor%dann in Ihrem Vorlagenhelfer: - & gt;
%Vor%Sortieren ist kein Parameter, sondern eine separate Funktion, die nach find () für das resultierende Objekt Cursor aufgerufen werden soll. Dies ist die Methode, auf die sich die MongoDB-Dokumentation bezieht, und arbeitet mit Treibern wie MongoJS:
%Vor% Es scheint, dass Meteor die sort () -Funktion nicht zu ihrer Implementierung von Cursor hinzugefügt hat. Daher wäre eine alternative Lösung, nach _id
Kann nicht sagen, warum es nicht in umgekehrter Reihenfolge zurückkehrt.
Sie können jedoch ein Array in der Template-Hilfsmethode erstellen und die Umkehrung eines Arrays mithilfe von %code% oder %code% functions zurückgeben.
Zum Beispiel: Sagen Sie, dass %code% collection wie folgt aussieht:
%Vor%Und das Array zurückgegeben werden:
%Vor%dann in Ihrem Vorlagenhelfer: - & gt;
%Vor%Als Workaround könnten Sie das tun:
%Vor%Ich weiß, dass es besser wäre, das über den Sortierparameter zu tun, aber ich glaube nicht, dass es jetzt möglich ist.
Sortieren ist kein Parameter, sondern eine separate Funktion, die nach find () für das resultierende Objekt Cursor aufgerufen werden soll. Dies ist die Methode, auf die sich die MongoDB-Dokumentation bezieht, und arbeitet mit Treibern wie MongoJS:
%Vor% Es scheint, dass Meteor die sort () -Funktion nicht zu ihrer Implementierung von Cursor hinzugefügt hat. Daher wäre eine alternative Lösung, nach _id
Ich denke, Sie könnten hier verwirrende Definitionen von "natürlicher Ordnung" sein. Auf der einen Seite gibt es eine natürliche Sortierreihenfolge für Buchstaben / Strings (A, B, C ...) und Zahlen (1,2,3 ...).
Aber im Fall von Mongo bezieht sich "natürlich" auf die Reihenfolge, in der die Daten auf die Festplatte geschrieben wurden. '{$ natural: 1}' gibt Dokumente in der Reihenfolge zurück, in der sie auf der Festplatte existieren ... 'und, so' {$ natural: -1} 'kehrt das um ( Ссылка ).
Ohne den Code, der die Daten schreibt, und einen Einblick in die Art, wie sie auf die Festplatte geschrieben wurde, können wir Ihre Hypothese, dass sie nicht richtig funktioniert, nicht testen.
Ich versuche, alle Dokumente in einer Sammlung zurückzugeben, um sie mit einem {{#each}} in meiner Vorlage zu verwenden. Mein Code sieht so aus:
%code%
Aber die Dokumente werden in natürlicher Reihenfolge zurückgegeben (nicht umgekehrt). Weiß jemand warum? Ich habe den $ natürlichen Selektor aus der MongoDB-Dokumentation bekommen, also sehe ich nicht, was falsch ist.
Ich denke, Sie könnten hier verwirrende Definitionen von "natürlicher Ordnung" sein. Auf der einen Seite gibt es eine natürliche Sortierreihenfolge für Buchstaben / Strings (A, B, C ...) und Zahlen (1,2,3 ...).
Aber im Fall von Mongo bezieht sich "natürlich" auf die Reihenfolge, in der die Daten auf die Festplatte geschrieben wurden. '{$ natural: 1}' gibt Dokumente in der Reihenfolge zurück, in der sie auf der Festplatte existieren ... 'und, so' {$ natural: -1} 'kehrt das um ( Ссылка ).
Ohne den Code, der die Daten schreibt, und einen Einblick in die Art, wie sie auf die Festplatte geschrieben wurde, können wir Ihre Hypothese, dass sie nicht richtig funktioniert, nicht testen.
Tags und Links meteor mongodb-query