MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Menangani Bidang Berpenduduk Luwak di GraphQL

Faktanya, Anda dapat menggunakan union atau antarmuka ketik untuk linked_device lapangan.

Menggunakan jenis gabungan, Anda dapat menerapkan GQAssetType sebagai berikut:

// 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 },
  })
});

Lihat artikel tentang penyatuan dan antarmuka GraphQL yang luar biasa ini .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara mengkonfigurasi port baru untuk mongodb

  2. Enam Komponen Penting dari Tata Kelola Data yang Berhasil

  3. Node.js + Mongoose / Mongo &bidang _id yang dipersingkat

  4. Bagaimana cara mengubah struktur objek JSON menjadi notasi titik?

  5. Bagaimana cara menghapus semua bidang kecuali kumpulan bidang yang diketahui?