javascript - GraphQL 和 Sequelize 中的“BETWEEN ... AND ...”
问题描述
我正在构建一个 API 来查询 MySQL 数据库中的单个表。
我在表格中有一个带有日期的字段。
我正在尝试获取一系列日期之间的所有记录(有点像 mysql“BETWEEN AND”语句。
const Person = new GraphQLObjectType({
name: 'Person',
Description: 'This represents a person',
fields: () => {
return {
firstName: {
type: GraphQLString,
resolve(bg) {
return bg.name;
}
},
middleName: {
type: GraphQLString,
resolve(bg) {
return bg.middleName;
}
},
lastName: {
type: GraphQLString,
resolve(bg) {
return bg.familyName;
}
},
dateOfBirth: {
type: GraphQLString,
resolve(bg) {
return bg.bornOn;
}
},
sex: {
type: GraphQLString,
resolve(bg) {
return bg.ses;
}
},
regCode: {
type: GraphQLString,
resolve(bg) {
return bg.regCode;
}
},
pinCode: {
type: GraphQLString,
resolve(bg) {
return bg.pinCode;
}
},
}
}
});
const dateOB = new GraphQLObjectType({
name: 'date',
Description: 'This represents a date interval',
fields: () => {
return {
between: {
type: GraphQLString,
},
and: {
type: GraphQLString,
}
}
}
});
const Query = new GraphQLObjectType({
name: 'query',
description: 'This is a root query',
fields: ()=> {
return {
people: {
type: new GraphQLList(Person, dateOB),
args: {
name: {
type: GraphQLString
},
familyName: {
type: GraphQLString
},
bornOn: {
type: GraphQLString
}
},
resolve(root, args) {
return Db.models.bg.findAll({where: args});
}
}
}
}
});
const Schema = new GraphQLSchema({
query: Query
});
我希望能够通过 BornOn 参数的日期范围进行查询,例如“1972-05-05, 2002-01-01”,因此它只显示该范围内的记录。
解决方案
推荐阅读
- python - 我正在努力从 python-flask 中的 jsonify 对象中按键获取值
- angular6 - 登录成功后路由器导航不起作用
- vbscript - 从 VBS 脚本中隐藏的启动程序不再起作用
- batch-file - 7Z SFX 未知发行者
- php - 如何通过对一个数据表的多个查询获取多个表数据
- c++ - OpenGL,纹理输出为纯色
- javascript - Reducer 不断返回一个空数组
- mongodb - [StitchServiceError: Error: ObjectId in 必须是 12 个字节的单个字符串或 24 个十六进制字符的字符串]
- replace - 替代:替换评估
- squarespace - 索引页的 Squarespace 索引页