Преобразование в число не выполнено для значения - GraphQL - PullRequest
2 голосов
/ 07 мая 2019

Я новичок в graphQL.Я пытаюсь поиграть с graphiql и пытаюсь выполнить where, где я хочу получить авторов с возрастом более 30 лет.

resolver.js

Query: {

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

    },

инструмент Graphiql

{
  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;

Получение этой ошибки:

"message": "Ошибка приведения к номеру для значения \" {_gte: 30} \ "по пути \" age \ "для модели \" author \ "",

1 Ответ

1 голос
/ 07 мая 2019

Просто используйте .find вместо .where - doc , ваш код достигнет

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

или мы вместо этого можем написать,

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