我正在尝试根据用户希望查询0-6个条件
我在mongo中的查询是
var query = {}
query['$and'] = [];
if(req.body.input.inputCustomer !== "All"){
query['$and'].push({
salesOrderCustomerName: req.body.input.inputCustomer
})
}
if(req.body.input.inputLocation !== "All"){
query['$and'].push({
salesOrderSubLocation: {
"$gte": req.body.input.inputLocation
}
})
}
if(req.body.input.inputItem !== "All"){
query['$and'].push({
salesOrderItemList :{$elemMatch:{salesOrderSelectedItem: req.body.input.inputItem}}
})
}
if(req.body.isDate === false){
query['$and'].push({
salesOrderDateCreated: {
"$gte": req.body.input.inputFromDate
}
})
query['$and'].push({
salesOrderDateCreated: {
"$lte": req.body.input.inputToDate
}
})
}
query['$and'].push({salesOrderLocation: req.query.loc})
但是当我搜索位置1时,位置2也出现了!
这是我的数据库
请参阅ID 46至48,它们位于子位置2,但我仅搜索子位置1,它们仍然出现。我的查询出了什么问题?我用了$和