2017-11-07 5 views
0
if(sorting != null) { 

    user 
    .find({}) 
    .sort(sorting) 
    .exec(function(err, users) { 
     if(err){ 
      res.status(404).send({ 
       message: err, 
       data: [] 
      }); 
     } else { 
      res.status(200).send({ 
       message: 'OK sorted '+ sorting.replace('\', ''),//user.find({}),//obj.name, 
       data: users 
      }); 
     } 
    }); 
} 

Ich bin der Umsetzung für meine RESTful API Sortier- und dies hat fürErsetzen in einer Zeichenfolge (JavaScript)

http://localhost:3000/api/users?sort= arbeiten { "name": 1}

diese Art der Anfrage.

Die sorting Variable soll {"name": 1} enthalten die Sortierarbeiten für den „Namen“ zu machen, und ich erklärte es als req.query.sort;

Doch diese gibt mir {\"name\": 1} mich zu verhindern, dass den richtigen Wert zu sortieren. Wie kann ich {\"name\": 1} ändern, um speziell auf { "name" : 1 } zu drucken?

+1

entkommen werden muss .... '‚\\‘', aber das wird nur ersetzen ... – epascarello

+0

Könnten Sie gib mir eine spezifische lösung? – Dawn17

+0

'ersetzen (/ \ // g, ...)' mit regulären Ausdruck als Argument für ersetzen ist es möglich, "globale Suche" (um alle Vorkommen zu ersetzen) mit 'g' – skyboyer

Antwort

1

Ihre Linie, die den Slash ersetzt muss wie folgt aussehen:

  message: 'OK sorted '+ sorting.replace('\\', ''),//user.find({}),//obj.name 
+0

Dies gibt mir immer noch '{\" name \ ": 1}' – Dawn17

Verwandte Themen