0

graphqlで座標の配列を取得しようとしています。これらの mongoose モデルから graphql タイプを生成するために、relay、mongoose、および graffiti-mongoose を使用しています。

// Geometry
const GeometrySchema = new mongoose.Schema({
type:         { type: String }, 
coordinates:  [ Number ]
}, { _id: false } );

// Country 
const CountrySchema = new mongoose.Schema({
code:           String,
name:           String,
dictionary:     [ { _id: false, value: String } ],
language:       [ { _id: false, code: String, name: String } ],
loc:            { type: { type: String }, geometries: [ GeometrySchema ] },
creationDate:   Date,
modifiedDate:   Date
});

const Country = mongoose.model('Country', CountrySchema);

生成されたgraphql(graphql/utilities)は次のとおりです。

type Country implements Node {
  code: String
  name: String
  dictionary: [CountryDictionary]
  language: [CountryLanguage]
  loc: [CountryLoc]
  creationDate: Date
  modifiedDate: Date
  _id: ID
  id: ID!
}

type CountryConnection {
  pageInfo: PageInfo!
  edges: [CountryEdge]
  count: Float
}

type CountryDictionary {
  _id: Generic
  value: String
}

input CountryDictionaryInput {
  _id: Generic
  value: String
}

type CountryEdge {
  node: Country
  cursor: String!
}

type CountryLanguage {
  _id: Generic
  code: String
  name: String
}

input CountryLanguageInput {
  _id: Generic
  code: String
  name: String
}

type CountryLoc {
  type: String
  coordinates: [Float]
}

input CountryLocInput {
  type: String
  coordinates: [Float]
}

graphiql を使用すると、次のように国名を取得できます。

{
  country(id:"57b48b73f6d183802aa06fe8"){
    name

  } 
}

場所情報を取得するにはどうすればよいですか?

4

2 に答える 2

0

スキーマ作成のバグの可能性があるようです。このモデルで動作させることができました (サンプル フォルダーを参照): https://github.com/tothandras/graffiti-mongoose/tree/bug/ric_castro_rada

于 2016-08-23T14:35:53.370 に答える