MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Обработка на попълнени от Mongoose полета в GraphQL

В интерес на истината можете да използвате union или интерфейс тип за linked_device поле.

Използвайки тип обединение, можете да внедрите GQAssetType както следва:

// graphql-asset-type.js

import { GraphQLObjectType, GraphQLString, GraphQLUnionType } from 'graphql'

var LinkedDeviceType = new GraphQLUnionType({
  name: 'Linked Device',
  types: [ ObjectIdType, GQAssetType ],
  resolveType(value) {
    if (value instanceof ObjectId) {
      return ObjectIdType;
    }
    if (value instanceof Asset) {
      return GQAssetType;
    }
  }
});

export var GQAssetType = new GraphQLObjectType({
  name: 'Asset',
  fields: () => ({
    name: { type: GraphQLString },
    linked_device: { type: LinkedDeviceType },
  })
});

Вижте тази отлична статия за съюза и интерфейса на GraphQL .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoCursorException - Курсорът не е намерен (MongoDB PHP драйвер)

  2. mongoose срещу mongodb (нодейс модули/разширения), кое е по-добро? и защо?

  3. Има ли начин да се покаже клеймо за време в unix формат на ISODate?

  4. Защо не мога да намеря запис от _id в mongodb

  5. Как да получите данни Mongo данни с помощта на агрегат MongoDB