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

vlastní řazení mongoose/mongodb

Možná budete chtít použít db.eval pokud jste rozhodnuti to udělat na straně databáze.

Odpověď extrahovaná z jiné otázky:

Nemyslím si, že je to možné přímo; sortdocumentation rozhodně nezmiňuje žádný způsob, jak poskytnout vlastní funkci porovnání.

Pravděpodobně nejlépe uděláte třídění v klientovi, ale pokud jste opravdu rozhodnuti to udělat na serveru, možná budete moci použít db.eval() zařídit spuštění řazení na serveru (pokud to váš klient podporuje).

Řazení na straně serveru:

db.eval(function() { 
  return db.scratch.find().toArray().sort(function(doc1, doc2) { 
    return doc1.a - doc2.a 
  }) 
});

Oproti ekvivalentnímu řazení na straně klienta:

db.scratch.find().toArray().sort(function(doc1, doc2) { 
  return doc1.a - doc2.b 
});


  1. MongoDB $dayOfMonth

  2. MongoDB-as-a-Service ve vašem vlastním účtu Amazon AWS

  3. jak používat agregační funkci v meteoru

  4. Foreman okamžitě končí