sql >> Database teknologi >  >> NoSQL >> MongoDB

mongoose/mongodb brugerdefineret sortering

Du vil måske bruge db.eval hvis du er fast besluttet på at gøre dette på databasesiden.

Svar hentet fra et andet spørgsmål:

Det tror jeg ikke er muligt direkte; sortdokumentationen nævner bestemt ikke nogen måde at give en tilpasset sammenligningsfunktion på.

Du har det nok bedst med at udføre sorteringen i klienten, men hvis du virkelig er fast besluttet på at gøre det på serveren, kan du muligvis brugedb.eval() at arrangere at køre sorteringen på serveren (hvis din klient understøtter det).

Sortering på serversiden:

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

Versus den tilsvarende sortering på klientsiden:

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


  1. Hvordan sætter man en billedfil i et json-objekt?

  2. Java Mongodb nummerlang forespørgsel

  3. Fast eller Bulk Upsert i pymongo

  4. hvordan man forespørger underordnede objekter i mongodb