Ich möchte eine dynamische Suche in Mungo von erstellen (erhalten Sie die URL in der Anfrage).So erstellen Sie dynamische Suche in Mungo
Hier Probe meiner url http://www.localhost:3000/listing?&colour=blue&gender=women
Benutzer können mehrere Farbe und Geschlecht wählen, so dass die URL http://www.localhost:3000/listing?&colour=blue&gender=women&colour=red&gender=men
wie kann ich 3 Abfrage Datensatz mit Daten in meinem mongodb haben wie
1) Geschlecht: 'männlich', Farbe: 'rot'
2) Geschlecht: 'Frauen', Farbe: 'blue'
3) Geschlecht: 'Frauen', Farbe: 'blue'
var productSchema = new Schema ({
price: String,
gender: String,
colour: String,
item: [{
name: String,
slug: String,
sku: String,
size : String,
stock: String,
}],
attributes: {
waterProof : String,
warranty : String,
caseMaterial : String,
movement : String,
lens : String,
bandMaterial : String,
options : String,
typeOfMovement : String,
}
});
var arrayGet = req.query;
var generateQeury ="{";
for (var k in arrayGet){
if (arrayGet.hasOwnProperty(k)) {
if(k =='gender'){
var gender = arrayGet[k];
}else if(k =='colour'){
var colour = arrayGet[k];
}
}
if (typeof gender !== 'undefined'){
generateQeury += '{gender : { $in: gender },';
}
if (typeof colour !== 'undefined'){
generateQeury += '{price : { $in: colour }';
}
generateQeury +="}";
// i get 3 query from mongoDB which is wrong
Product.find(generateQeury,function(err,result){
console.log(result);
})
//i get 2 query from mongoDB which is correct
Product.find({gender : { $in: gender },colour : { $in: colour }},function(err,result){
console.log(result);
})
Darf ich wissen, wo ich falsch gemacht haben