У меня возникла проблема с логической операцией И в функции findOne мангуста.
Дата, предоставленная этой функции, верна, я проверял и регистрировал результат. Я все еще получаю ИЛИ вместо операции И.
static checkAvaiable(date, time, number) {
return new Promise((resolve, reject) => {
console.info(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()
})
})
}
🤔 А знаете ли вы, что...
JavaScript можно использовать для создания видеоигр, как 2D, так и 3D, с использованием библиотеки Three.js.
Вы неправильно используете оператор $and
, обратитесь к документы.
при этом кажется, что вам вообще не нужно будет использовать оператор $and
. вы можете просто фильтровать свои аргументы, поведение по умолчанию - использовать логику and
.
static checkAvaiable(date, time, number) {
return new Promise((resolve, reject) => {
console.info(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()
})
})
}