在graphql中如何获取最后3个元素

Posted

技术标签:

【中文标题】在graphql中如何获取最后3个元素【英文标题】:How in graphql get last 3 element 【发布时间】:2017-11-10 04:46:36 【问题描述】:

graphql.js 如何从 mysql db 表中获取最后 3 个 created_at 元素? 我使用 sequelize.js

像这样:

query: '
    elements(last:3) 
        id
    
'

这是我的文件 db.js

const Conn = new Sequelize(/*connection config*/);
Conn.define('elements', 
    id: 
        type: Sequelize.STRING(36),
        primaryKey: true,
        allowNull: false
    
);
export default Conn;

这是我的文件 schema.js

const Query = new GraphQLObjectType(
    name: 'Query',
    description: 'Root query object',
    fields() 
        return 
            elements: 
                type: new GraphQLList(Element),
                args: 
                    id: 
                        type: GraphQLString
                    
                ,
                resolve (root, args) 
                    return Db.models.elements.findAll( where: args );
                
            
        
    
);

【问题讨论】:

【参考方案1】:

一定是这样的;

...
return Db.models.elements.findAll( 
  limit: 3, 
  where: args, 
  order: [['created_at', 'DESC']] 
);

http://docs.sequelizejs.com/manual/tutorial/querying.html#pagination-limiting http://docs.sequelizejs.com/manual/tutorial/querying.html#ordering

【讨论】:

感谢您的回答。但是我怎样才能改变我的 scheme.js?像这样? lastThreeElements: type: new GraphQLList(Element), args: id: type: GraphQLString , resolve (root, args) return Db.models.elements.findAll( limit: 3, where: args, order: [['created_at', 'DESC']] );

以上是关于在graphql中如何获取最后3个元素的主要内容,如果未能解决你的问题,请参考以下文章

Apollo/GraphQL:如何获取嵌套元素?

JS中如何获取数组中的一部分元素

如何从 GraphQL API 调用中获取 JSON 对象元素? [关闭]

如何从 MongoDB 集合中获取具有匹配键的最后 N 个元素

如何从 MongoDB 集合中获取具有匹配键的最后 N 个元素

获取php数组的最后5个元素