Javascript 如何在mongoose findOne查询中进行逻辑AND?
我在mongoose findOne函数中遇到逻辑AND操作问题 提供给这个函数的日期是正确的,我正在检查和记录结果。我仍在接受手术治疗Javascript 如何在mongoose findOne查询中进行逻辑AND?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我在mongoose findOne函数中遇到逻辑AND操作问题 提供给这个函数的日期是正确的,我正在检查和记录结果。我仍在接受手术治疗 static checkAvaiable(date, time, number) { return new Promise((resolve, reject) => { console.log(date, time) TableModel.findOne({ $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()
})
})
}
您使用的
$和运算符错误,请参阅。
尽管如此,您似乎根本不需要使用$和操作符。您可以通过参数进行筛选,默认行为是使用和逻辑
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()
})
})
}