在graphql,meteor和apollo中查询单个项时,我会返回null值

时间:2016-11-30 21:37:01

标签: meteor graphql apollo

我可能忽略了文档中的某些内容,但我似乎遇到了能够从我的graphql查询中获取单个对象的问题。

这是架构:

type Query {
    product(name: String!): Product
}

type Product {
    _id: String
    name: String
}

这是解析器:

Query: {
   product (_, args) {
       return Products.find({where: args})
   },
   products () {
       return Products.find().fetch()
   }
}

以下是查询:

query {
    product(name: "burgers") {
        name
    }
}

我得到了这样的结果:

{
    "data": {
        "product": {
          "name": null
        }
    }
}

我只是忘了为此添加一些内容,如果是这样,你可以指出正确的方向。

1 个答案:

答案 0 :(得分:1)

如果Products是Meteor集合,那么.find会返回一个光标,因此返回的正确内容将是Products.findOne({name: args.name})

http://docs.meteor.com/api/collections.html#Mongo-Collection-findOne