在 graphql、meteor 和 apollo 中查询单个项目时,我得到返回的空值

When querying for a single item in graphql, meteor, and apollo i get null values returned

我可能忽略了文档中的某些内容,但我似乎 运行 遇到了能够从我的 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
        }
    }
}

我是不是忘了添加一些东西,如果是的话,你能给我指明正确的方向吗?

如果 Products 是一个 Meteor Collection,那么 .find return 是一个游标,所以 return 的正确选择是 Products.findOne({name: args.name})

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