簡體   English   中英

如何在graphql中獲取最后3個元素

[英]How in graphql get last 3 element

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 });
                }
            }
        }
    }
});

一定是這樣的;

...
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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM