我是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} \”的数字转换失败 \“年龄\”为模型\“作者\”“,
答案 0 :(得分:1)
只需使用.find
而不是.where
-doc,您的代码就会出现
authorModel.find({age: { $gte: 30 }})
或者我们可以改写
authorModel.where('age').gte(30)