0
我想從(在請求中獲取URL)中創建一個動態搜索貓鼬。如何在貓鼬中創建動態搜索
這裏是我的網址 http://www.localhost:3000/listing?&colour=blue&gender=women
用戶能夠選擇多種顏色和性別,這樣的樣品的URL可以像 http://www.localhost:3000/listing?&colour=blue&gender=women&colour=red&gender=men
我有3個查詢記錄在我的MongoDB的數據像
1)性別:男性, 顏色:紅色
2)性別:女性, 色: '藍色'
3)性別: '女人', 顏色: '藍'
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);
})
可能我知道我做錯了