Ich versuche, eine Suche aus Eingabe von einem Formular erhalten.Programmgesteuert erstellen dynamische Abfrage mit Mongoose
router.get('/data', function(req, res) {
var firstName=req.body.firstName,
lastName=req.body.lastName,
companyName=req.body.companyName,
email=req.body.email;
});
Ich möchte eine Abfrage erstellen aus diesen Werten, aber wenn das Feld keinen Wert hat, möchte ich natürlich nicht in die Suche einbezogen werden (Suche nach „“ würde die Ergebnisse ändern)
ich habe ein paar verschiedene Dinge ausprobiert, wie eine Zeichenfolge Gebäude in platzieren:
mongoose.model('customers').find({QUERY STRING WOULD GO HERE} ,function(err, data) {
if (err) return console.error(err);
console.log(data);
});
Aber das scheint nicht richtig zu funktionieren. Ich habe auch versucht „stacking“ Suchanfragen wie folgt aus:
if(firstName !="") {
mongoose.model('customers').find({firstName: firstName})
}
und dann die Suche wie folgt ausführen:
mongoose.model('customers').exec(function(err, customer){
console.log(customer);
});
Aber das verursacht 500 Fehler (und ich bin nicht sicher, ob es mehr Infos Ich kann von ihnen bekommen).
Bitte helfen ein Neuling dynamisch eine Mungo Suchabfrage bauen :(
Statt einer Abfrage-String, haben Sie versucht, eine Abfrage Objekts? (Wenn Sie neu bei Javascript sind, nennen Sie es "Hash" oder "Map" oder "Array") – slebetman
@slebetman Sie haben absolut Recht. Ich habe nachgeschaut, wie man ein Objekt erstellt, aber ich habe es einfach nicht richtig gemacht :( –