Mongodb 基本graphQL猫鼬设置
我遵循了/和这一点,并希望尝试将其连接到www.mlab.com上的db。该项目正在连接到mlab和graphiql,但当我在graphiql中运行查询时,我得到的查询值为null/未定义 这是schema.jsMongodb 基本graphQL猫鼬设置,mongodb,mongoose,graphql,mongoose-schema,graphql-js,Mongodb,Mongoose,Graphql,Mongoose Schema,Graphql Js,我遵循了/和这一点,并希望尝试将其连接到www.mlab.com上的db。该项目正在连接到mlab和graphiql,但当我在graphiql中运行查询时,我得到的查询值为null/未定义 这是schema.js const typeDefinitions = ` type Biz { name: String address: String } type Query { biz(name: String, address: String): Biz } schema { query
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输出:
看起来您的biz解析器使用了
find()
,它将返回一个列表。您需要的是findOne()
PS:您通常可以通过在相应的解析函数中添加打印语句(或运行节点调试器)来调试此类问题。谢谢。芬顿努力得到了一个结果。我希望得到一个列表,这就是我使用find()的原因。谢谢你抽出时间。我仍然不知道我不知道什么。我将尝试打印和调试器。再次感谢。看看这个样板