Ich verwende MEAN Stack und ich sende Abfrageparameter dynamisch an meine Nodejs Serverendpunkte. Mein Client-Controller:MEAN Nodejs JSON.parse übergibt Daten vom Client an den Server
$http.get('/api/things',{params:{query:query}}).then(response => {
this.awesomeThings = response.data;
socket.syncUpdates('thing', this.awesomeThings);
});
wo Abfrage ein Wert in die Steuerung eingespritzt wird. Dies ist der Server-Controller-Funktion (die funktioniert):
export function index(req, res) {
var query = req.query.query && JSON.parse(req.query.query)
Thing.find(query).sort({_id:-1}).limit(20).execAsync()
.then(respondWithResult(res))
.catch(handleError(res));
}
Die oben genannten Arbeiten, aber ich versuche die Linie
var query = req.query.query && JSON.parse(req.query.query)
wie ich sie nie zuvor gesehen haben, dies zu verstehen (und ich weiß nicht stammen aus einem Programmierhintergrund). Ich console.logged Abfrage und verstehe, dass es ein Objekt ist (was von Mongodb erforderlich ist), aber wenn ich console.logged (JSON.parse (req.query.query)) oder JSON.parse (Abfrage), um die endgültige Ausgabe zu finden, die Programm hört auf zu arbeiten mit keine Fehlermeldungen, sehr seltsam .. Wenn jemand die obige Syntax erklären kann und warum es so für es funktioniert, würde das sehr geschätzt werden .. PS, wenn ich versuche, die JSON-Konsole zu loggen .parse wie so, nicht geladen werden, obwohl es überhaupt keine Wirkung haben sollte:
export function index(req, res) {
var query = req.query.query && JSON.parse(req.query.query)
var que = JSON.parse(req.query.query)
Thing.find(query).sort({_id:-1}).limit(20).execAsync()
.then(respondWithResult(res))
.catch(handleError(res));
console.log("que"+que)
}
Mögliche Duplikat [Zuweisung mit Doppelampersand "&&"] (http://stackoverflow.com/questions/12878612/assignment-with-double-ampersand) – DAXaholic
Dies ist der einzige Code, der funktioniert. Wenn ich es nicht so code, funktioniert es nicht. Die obigen Codes stammen aus tatsächlichen Arbeitscodes, ich frage nur, was diese Syntax bedeutet und warum sie funktioniert. –