[英]How to make logical AND in mongoose findOne query?
我在貓鼬的findOne函數中進行邏輯AND操作時遇到問題。
提供給該功能的日期是正確的,我正在檢查並記錄結果。 我仍然得到OR而不是AND運算。
static checkAvaiable(date, time, number) {
return new Promise((resolve, reject) => {
console.log(date, time)
TableModel.findOne({
$and: [
{
'reservations.date': date,
'reservations.time': time,
number
}
]
}, { 'reservations.$': 1 }, (err, result) => {
if (result.reservations.length != 0) {
reject()
}
if (err) {
reject()
}
resolve()
})
})
}
您錯誤地使用了$and
運算符,請參閱docs 。 有人說,您似乎根本不需要使用$and
運算符。 您可以按參數過濾默認行為是使用and
邏輯。
static checkAvaiable(date, time, number) {
return new Promise((resolve, reject) => {
console.log(date, time)
TableModel.findOne({
$and: [
{
'reservations.date': date
},
{
'reservations.time': time
},
{
number
}
]
}, { 'reservations.$': 1 }, (err, result) => {
if (result.reservations.length != 0) {
reject()
}
if (err) {
reject()
}
resolve()
})
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.