我试图翻译'对Mongoose的SQL查询,但无法返回任何结果。 这是SQL的一个:
WHERE (( a = 1 AND b = 1) OR ( c = 1 AND d = 1)) AND (date = '2018-03-20')
这里有mongo查询版本:
$and: [
{ $or: [ {$and: [{searchCode: 123},
{searchNumber: 987}
]
},
{$and: [{Code: 123},
{Number: 987}
]
}
]
},
{date: '2018-03-20'}
]
数据库中有值应返回,但查询无法返回结果。
请告知。
答案 0 :(得分:0)
试试这个
{
date: valueDate.format('YYYY-MM-DD'),
$or: [{
searchCode: newCode,
searchNumber: newNumber
}, {
Code: newCode,
Number: newNumber
}]
}
答案 1 :(得分:0)
查询没问题。检查值的类型是否匹配。它返回两个文件:
{searchCode: 123, searchNumber:987, date: '2018-03-20'},
{Code: 123, 'Number':987, date: '2018-03-20'}
但不返回
{searchCode: '123', searchNumber:987, date: '2018-03-20'}
,也不
{searchCode: 123, searchNumber:987, date: ISODate('2018-03-20')}