gpt4 book ai didi

node.js - 在 where 子句中使用 OR 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 02:26:04 24 4
gpt4 key购买 nike

我正在尝试根据文档here使用or运算符在sequelize中执行查询.

m.client_state.find({
where: {
validUntil: {
$or: {
lt: Date.now(),
eq: null
}
}
}

根据文档,这对我来说看起来是正确的。我还尝试过 $and 运算符,并且在没有 $ 符号的情况下执行此操作,但我总是遇到此异常。

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

如果我跳过 $or 并仅使用 lt 或 eq,代码可以正常工作。

最佳答案

您错过了$

$lt: Date.now(),
$eq: null

关于node.js - 在 where 子句中使用 OR 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30349346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com