Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在mongoose findOne查询中进行逻辑AND?_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 如何在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: [

我在mongoose 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()
        })
    })
}