1
中使用OR时出现错误我试图根据文档here使用或运算符在续集中执行查询。当在条款
m.client_state.find({
where: {
validUntil: {
$or: {
lt: Date.now(),
eq: null
}
}
}
根据文档,这看起来是正确的。我也尝试过$和操作符,并且没有使用$符号,但是我总是得到这个异常。
TypeError: undefined is not a function
at Object.module.exports.QueryGenerator.whereItemQuery (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1753:45)
at /home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1609:27
at /home/grimurd/Documents/Repos/WiFi/node_modules/lodash/index.js:3159:15
at baseForOwn (/home/grimurd/Documents/Repos/WiFi/node_modules/lodash/index.js:2089:14)
at Function.<anonymous> (/home/grimurd/Documents/Repos/WiFi/node_modules/lodash/index.js:3438:16)
at Object.module.exports.QueryGenerator.whereItemsQuery (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1608:11)
at Object.module.exports.QueryGenerator.getWhereConditions (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1980:21)
at Object.module.exports.QueryGenerator.selectQuery (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1287:30)
at module.exports.QueryInterface.select (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/query-interface.js:685:27)
at null.<anonymous> (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/lib/model.js:743:34)
at tryCatcher (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/node_modules/bluebird/js/main/util.js:24:31)
at Promise._settlePromiseFromHandler (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:454:31)
at Promise._settlePromiseAt (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:530:18)
at Async._drainQueue (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/node_modules/bluebird/js/main/async.js:182:12)
at Async._drainQueues (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/node_modules/bluebird/js/main/async.js:187:10)
at Immediate.Async.drainQueues [as _onImmediate] (/home/grimurd/Documents/Repos/WiFi/node_modules/sequelize/node_modules/bluebird/js/mai
该代码工作正常,如果我跳过$或只使用lt或eq。
似乎$或预计其参数始终是一个数组 - 即使文档使用的对象。你能否在sequelize repo上打开一个bug? –
是的你是对的,这工作后,我把对象内的数组。我将在他们的回购中创建一个问题。 – grimurd