Javascript 如果不为null,则在何处进行续集
假设我想用Javascript 如果不为null,则在何处进行续集,javascript,sql,node.js,express,Javascript,Sql,Node.js,Express,假设我想用 其中ID=2134 但是如果用户不提供id,那么它就不应该麻烦使用WHERE id(因为它是空的) 我如何使用Sequelize处理这个问题 基本上,您的查询应该 WHERE fk_id=1234 OR fk_id is null 所以对于sequilize来说 const Op = Sequelize.Op; Model.findAll({ where: { fk_id: { [Op.or]: [1234, null] } }
其中ID=2134
但是如果用户不提供id,那么它就不应该麻烦使用WHERE id(因为它是空的)
我如何使用Sequelize处理这个问题 基本上,您的查询应该
WHERE fk_id=1234 OR fk_id is null
所以对于sequilize来说
const Op = Sequelize.Op;
Model.findAll({
where: {
fk_id: {
[Op.or]: [1234, null]
}
}
});
以下是文件:
好的,我想我把这个问题搞错了。因此,如果提供了一个
id
参数,当我们返回由该id
过滤的结果时,如果它不是返回所有结果。
像这样的
function getData(dataId) {
let conditions = {};
if (dataId) {
conditions.where = { id: dataId };
}
return Model.findAll(conditions);
}
// The record with id = 1234
getData(1234).then(function(record) {
// record readed here
});
// All records
getData().then(function(records) {
// record readed here
});
我读了标题,它说,如果不是空的话。但是,我显示的不是NULL,而是NULL 我举个例子
const cars = await Car.findAll({
where: {
userId: {
[Op.in]: myUserIds, // array like userId IN [2, 3, 4]
},
action: 'start', // like: action = 'start'
sellDate: {
[Op.not]: null, // Like: sellDate IS NOT NULL
},
status: {
[Op.is]: null, // Like: status IS NULL
}
},
order: [
['id', 'DESC'] // Like: ORDER BY id DESC
],
limit: 5,
offset: 1
});
有关详细信息,请参阅附件中的文件节点\u modules/sequelize/types/lib/operators.d.ts
我希望能帮助你
/**
*对象,该对象包含所有运算符符号
*/
声明常数:{
/**
*操作员-|-(PG范围与操作员相邻)
*
*```js
*[作品二]:[1,2]
* ```
*在SQL中
*`` sql
* -|- [1, 2)
* ```
*/
只读相邻:唯一符号;
/**
*总机
*
*```js
*[Op.gt]:{
*[Op.all]:文字('SELECT 1')
* }
* ```
*在SQL中
*`` sql
*>全部(选择1)
* ```
*/
只读全部:唯一符号;
/**
*操作员和
*
*```js
*[作品和]:{a:5}
* ```
*在SQL中
*`` sql
*和(a=5)
* ```
*/
只读和:唯一符号;
/**
*运算符任意数组(仅PG)
*
*```js
*[Op.any]:[2,3]
* ```
*在SQL中
*`` sql
*任意数组[2,3]::整数
* ```
*
*与任何数组类似的运算符(也适用于iLike和notLike)
*
*```js
*[Op.like]:{[Op.any]:['cat','hat']}
* ```
*在SQL中
*`` sql
*像任何数组一样['cat','hat']
* ```
*/
只读任何:唯一符号;
/**
*接线员
*
*```js
*[Op.Beween]:[6,10]
* ```
*在SQL中
*`` sql
*在6点到10点之间
* ```
*/
只读之间:唯一符号;
/**
*使用特定于方言的列标识符(本例中为PG)
*
*```js
*[Op.col]:'user.organization\u id'
* ```
*在SQL中
*`` sql
*=“用户”“组织机构id”
* ```
*/
只读列:唯一的符号;
/**
*操作员[1,2)
* ```
*/
只读包含:唯一符号;
/**
*类操作员
*
*```js
*[Op.endsWith]:“帽子”
* ```
*在SQL中
*`` sql
*像“%hat”
* ```
*/
只读结束符:唯一符号;
/**
*接线员=
*
*```js
*[Op.eq]:3
* ```
*在SQL中
*`` sql
* = 3
* ```
*/
只读eq:唯一符号;
/**
*操作员>
*
*```js
*[Op.gt]:6
* ```
*在SQL中
*`` sql
* > 6
* ```
*/
只读gt:唯一符号;
/**
*操作员>=
*
*```js
*[作品gte]:6
* ```
*在SQL中
*`` sql
* >= 6
* ```
*/
只读gte:唯一符号;
/**
*运算符ILIKE(不区分大小写)(仅PG)
*
*```js
*[Op.iLike]:“%hat”
* ```
*在SQL中
*`` sql
*我喜欢你的帽子
* ```
*/
只读iLike:唯一的符号;
/**
*接线员
*
*```js
*[Op.in]:[1,2]
* ```
*在SQL中
*`` sql
*[1,2]
* ```
*/
只读:唯一符号;
/**
*操作员~*(仅PG)
*
*```js
*[作品iRegexp]:“^[h|a|t]”
* ```
*在SQL中
*`` sql
*~*'^[h|a|t]'
* ```
*/
只读iRegexp:唯一符号;
/**
*接线员是
*
*```js
*[Op.is]:空
* ```
*在SQL中
*`` sql
*是空的
* ```
*/
只读是:唯一的符号;
/**
*类操作员
*
*```js
*[点评]:“%hat”
* ```
*在SQL中
*`` sql
*像“%hat”
* ```
*/
只读:独特的符号;
/**
*接线员<
*
*```js
*[作品lt]:10
* ```
*在SQL中
*`` sql
* < 10
* ```
*/
只读lt:唯一符号;
/**
*操作员[1,2)
* ```
*/
只读noExtendLeft:唯一符号;
/**
*操作员&<(PG范围不延伸至操作员右侧)
*
*```js
*[作品noExtendRight]:[1,2]
* ```
*在SQL中
*`` sql
* &< [1, 2)
* ```
*/
只读NoExtenderRight:唯一符号;
/**
*操作员不
*
*```js
*[点评]:对
* ```
*在SQL中
*`` sql
*事实并非如此
* ```
*/
只读非:唯一符号;
/**
*接线员不在中间
*
*```js
*[Op.NotBeween]:[11,15]
* ```
*在SQL中
*`` sql
*不在11到15岁之间
* ```
*/
只读notBetween:唯一符号;
/**
*运算符非ILIKE(不区分大小写)(仅PG)
*
*```js
*[Op.notILike]:“%hat”
* ```
*在SQL中
*`` sql
*我不喜欢帽子
* ```
*/
只读notILike:独特的符号;
/**
*接线员不在
*
*```js
*[Op.notIn]:[1,2]
* ```
*在SQL中
*`` sql
*不在[1,2]
* ```
*/
只读notIn:唯一符号;
/**
*操作员!~*(仅PG)
*
*```js
*[Op.notIRegexp]:“^[h|a|t]”
* ```
*在SQL中
*`` sql
*!~*'^[h | a | t]'
* ```
*/
只读notIRegexp:唯一符号;
/**
*操作员不喜欢
*
*```js
*[Op.notLike]:“%hat”
* ```
*在SQL中
*`` sql
*不像“%hat”
* ```
*/
只读notLike:唯一符号;
/**
*运算符非REGEXP(仅限MySQL/PG)
*
*```js
*[Op.notRegexp]:“^[h|a|t]”
* ```
*在SQL中
*`` sql
*不是REGEXP/!~'^[h | a | t]'
* ```
*/
只读notRegexp:唯一符号;
/**
*操作员或
*
*```js
*[Op.or]:[{a:5},{a:6}]
* ```
*在SQL中
*`` sql
*(a=5或a=6)
* ```
*/
只读或:唯一符号;
/**
*运算符&(PG数组重叠运算符)
*
*```js
*[作品.重叠]:[1,2]
* ```
*在SQL中
*`` sql
* && [1, 2)
* ```
*/
只读重叠:唯一符号;
/**
*内部占位符
*
*```js
*[操作占位符]:true
* ```
*/
雷亚
const cars = await Car.findAll({
where: {
userId: {
[Op.in]: myUserIds, // array like userId IN [2, 3, 4]
},
action: 'start', // like: action = 'start'
sellDate: {
[Op.not]: null, // Like: sellDate IS NOT NULL
},
status: {
[Op.is]: null, // Like: status IS NULL
}
},
order: [
['id', 'DESC'] // Like: ORDER BY id DESC
],
limit: 5,
offset: 1
});