Я новичок в графическом QL. Я пытаюсь играть с graphiql и пытаюсь выполнить where Где я хочу найти авторов старше 30 лет.
разрешитель.js
Query: {
authorGratherThan: (root, { age }) => {
return authorModel.where({
age: {
_gte: 30
}
});
}
},
графический инструмент
{
authorGratherThan(age:30) {
name,
age,
}
}
Модель схемы автор.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": "Cast to number failed for value \"{ _gte: 30 }\" at path \"age\" for model \"author\"",
МонгоДБ. Я обновил свой вопрос моделью схемы
Просто используйте .find вместо .where - mongoosejs.com/docs/api.html#model_Model.find, ваш код придет к authorModel.find({age: { $gte: 30 }})
@hoangdv не стесняйтесь публиковать ответ, чтобы получить баллы! Большое спасибо
@hoangdv К вашему сведению: использование where тоже сработало, но ошибка заключалась в том, что я использовал _gte вместо $gte





Просто используйте .find вместо .where - документ, ваш код придет к
authorModel.find({age: { $gte: 30 }})
или мы можем вместо этого написать,
authorModel.where('age').gte(30)
Какой у вас тип базы данных?