Criar um esquema

POSTAR /groups/{groupId}/apps/{appId}/schemas

Defina um novo esquema para uma coleção vinculada. Ao criar um esquema com esse ponto de extremidade, certifique-se de que a carga útil do JSON esteja totalmente não escapada. Formatos JSON escapados incorretamente podem levar a erros.

parâmetros de caminho

aplicação/json

corpo, corpo Obrigatório

  • metadata Obrigatório

    Metadados que descrevem a qual coleção vinculada o esquema se aplica.

    Hide metadata attributes Mostrar atributos de metadados
    • data_source string

      O nome da fonte de dados .

    • database string

      O nome do banco de dados.

    • collection string

      O nome da collection.

  • schema objeto

    Um esquema válido para a coleção.

    Ocultar atributos de esquema Mostrar atributos do esquema objeto
    • bsonType string

      O tipo de BSON do campo.

      Os valores são object, array, string, number, int, long, double, decimal, date, timestamp, bool, null, regex, objectId, binary, uuid, function, javascript, symbol, minKey ou maxKey.

    • title string

      Um título legível por humanos para o esquema.

    • necessário array[string]

      Para esquemas object, uma array de nomes de campo necessários em instâncias do objeto.

    • properties objeto

      Um objeto onde cada nome de campo é uma propriedade no esquema. O valor correspondente é uma definição de esquema para esse campo.

      Ocultar atributo de propriedades Mostrar atributo de propriedades objeto
      • * objeto

        Um esquema válido para a coleção.

  • relationships objeto

    Relacionamentos com collection externas. Cada nome de campo é uma propriedade no esquema. O valor correspondente é uma definição de relacionamento para esse campo.

    Ocultar atributo de relacionamentos Mostrar atributo de relacionamentos objeto
    • * objeto Propriedades adicionais
      Ocultar atributos * Mostrar atributos * objeto
      • ref string

        Uma string de referência para a collection estrangeira.

      • foreign_key string

        O nome do campo na collection externa para a qual o relacionamento aponta.

      • is_list booleano

        Se true:

        • o relacionamento pode ponto para muitos documentos estrangeiros.
        • o campo local deve ser definido como uma array no esquema de coleção.

Respostas

  • 200 aplicação/json

    OK

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • _id string Obrigatório
    • metadata objeto Obrigatório

      Metadados que descrevem a qual coleção vinculada o esquema se aplica.

      Hide metadata attributes Mostrar atributos de metadados objeto
      • data_source string

        O nome da fonte de dados .

      • database string

        O nome do banco de dados.

      • collection string

        O nome da collection.

POST /groups/{groupId}/apps/{appId}/schemas
curl \
 --request POST 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/schemas' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"metadata":{"data_source":"string","database":"string","collection":"string"},"schema":{"bsonType":"object","title":"string","required":["string"],"properties":{"*":{}}},"relationships":{"additionalProperty1":{"ref":"string","foreign_key":"string","is_list":true},"additionalProperty2":{"ref":"string","foreign_key":"string","is_list":true}}}'
Exemplos de solicitação
{
  "metadata": {
    "data_source": "string",
    "database": "string",
    "collection": "string"
  },
  "schema": {
    "bsonType": "object",
    "title": "string",
    "required": [
      "string"
    ],
    "properties": {
      "*": {}
    }
  },
  "relationships": {
    "additionalProperty1": {
      "ref": "string",
      "foreign_key": "string",
      "is_list": true
    },
    "additionalProperty2": {
      "ref": "string",
      "foreign_key": "string",
      "is_list": true
    }
  }
}
Exemplos de resposta (200)
{
  "_id": "string",
  "metadata": {
    "data_source": "string",
    "database": "string",
    "collection": "string"
  }
}