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

Problém řazení a limitu na základě řetězení

Shell MongoDB líně vyhodnocuje kurzory, což znamená, že série zřetězených operací, které jste provedli, vede k odeslání jednoho dotazu na server pomocí konečného stavu založeného na zřetězených operacích. Když tedy řeknete „sort({time: -1}).limit(2).sort({time: 1}) " druhé volání k řazení přepíše řazení nastavené prvním voláním.

Chcete-li dosáhnout požadovaného výsledku, pravděpodobně bude lepší obrátit výstup kurzoru v kódu aplikace, zvláště pokud se omezujete na malou sadu výsledků (zde používáte 2). Přesný kód, jak to udělat, závisí na jazyce, který používáte a který jste nezadali.



  1. Jak naslouchat změnám v kolekci MongoDB?

  2. Jak používat operátor $in v mongodb se dvěma poli v jazyce Java

  3. Typované transakce Redis

  4. Redis, Node.js a Socket.io:Ověřování napříč servery a porozumění node.js