基本的 graphQL Mongoose 设置
Posted
技术标签:
【中文标题】基本的 graphQL Mongoose 设置【英文标题】:Basic graphQL Mongoose set up 【发布时间】:2016-10-11 18:12:48 【问题描述】:我关注了http://docs.apollostack.com/apollo-server/guide.html/ 和这个video,并想尝试将其连接到 www.mlab.com 上的 db。该项目正在连接到 mlab 和 graphiql,但是当我在 graphiql 中运行查询时,我的查询得到了 null/undefined 值。
这是 schema.js
const typeDefinitions = `
type Biz
name: String
address: String
type Query
biz(name: String, address: String): Biz
schema
query: Query
`;
export default [typeDefinitions];
这是connectors.js:
// businesses in mongo DB
const MONGOLAB_URI = 'mongodb://user:password@ds064278.mlab.com:64278/klik-mongodb';
const mongo = Mongoose.connect(MONGOLAB_URI, function (err, res)
if (err)
console.log ('ERROR connecting to: ' + MONGOLAB_URI + '. ' + err);
else
console.log ( 'Succeeded connected to: ' + MONGOLAB_URI );
);
const BizSchema = Mongoose.Schema(
_id: Object,
address: String,
city: String,
country: String,
heading: String,
headingid: Number,
img_url: String,
name: String,
objectId: String,
phonenumber1: String,
website: String,
latitude: Number,
longitude: Number,
);
const Biz = Mongoose.model('bizs', BizSchema);
export Biz ;
这是 resolvers.js:
import Biz from './connectors';
const resolvers =
Query:
biz(_, name, address )
return Biz.find( where: name, address );
,
,
;
export default resolvers;
这是我的 mlab 对象的示例:
"_id":
"$oid": "573e8c9b1379f0f2fad98290"
,
"accountid": 1404,
"address": "737, Grand Rue,",
"city": "Port-au-Prince",
"country": "Haiti",
"createdAt": "10/26/2015 7:27:42 PM",
"heading": "Computer, Printers and Supplies",
"headingid": 323,
"img_url": "https://res.cloudinary.com/klik-io/image/upload/v1454850817/pages-jaunes-haiti-icon_sosoco.png",
"name": "A & M Entreprises",
"objectId": "0lw9lVl23j",
"phonenumber1": "+509 3770 0303",
"website": "http://868.ht"
这是 graphiql 输出:
【问题讨论】:
看看这个样板文件github.com/sibelius/graphql-dataloader-boilerplate 【参考方案1】:您的商务解析器似乎使用了find()
,它将返回一个列表。你要的是findOne()
。
PS:您通常可以通过在适当的解析函数中添加打印语句(或运行节点调试器)来调试此类问题。
【讨论】:
谢谢。 findOne 努力得到一个结果。我希望得到一个列表,这就是我使用 find() 的原因。感谢您抽出宝贵的时间。我仍然不知道我不知道什么。将尝试打印和调试器。再次感谢。以上是关于基本的 graphQL Mongoose 设置的主要内容,如果未能解决你的问题,请参考以下文章
GraphQL Mutation 使用 Mongoose/MongodB 更新用户关注者 - $set 为空错误