强制转换为数字值失败-GraphQL

时间:2019-05-07 05:34:25

标签: node.js express graphql graphql-js express-graphql

我是graphQL的新手。我正在尝试使用graphiql,并且正在尝试执行where,以便在这里检索年龄大于30岁的作者。

resolver.js

Query: {

        authorGratherThan: (root, { age }) => {
            return authorModel.where({
                age: {
                    _gte: 30
                }
            });
        }

    },

图形工具

{
  authorGratherThan(age:30) {
    name,
    age,
  }
}

模式模型 author.js

import mongoose from 'mongoose';
import uuid from 'node-uuid';
const schema = mongoose.Schema;

const authorsSchema = new schema({
    id: { type: String, default: uuid.v1 },
    name: String,
    age: Number,
    books: [ String ]
});

const model = mongoose.model('author', authorsSchema);
export default model;

遇到此错误:

  

“消息”:在路径上对值\“ {_gte:30} \”的数字转换失败   \“年龄\”为模型\“作者\”“,

1 个答案:

答案 0 :(得分:1)

只需使用.find而不是.where-doc,您的代码就会出现

authorModel.find({age: { $gte: 30 }})

或者我们可以改写

authorModel.where('age').gte(30)