Metadatos de recopilación de SODA

Describe los metadatos de la recopilación de SODA en la base de datos.

Metadatos de recopilación de SODA en Autonomous Database

Describe los metadatos de recopilación personalizados y por defecto en Autonomous Database.

Metadatos de la recopilación por defecto de SODA en Autonomous Database

Describe los metadatos de la recopilación por defecto en Autonomous Database, que son los metadatos de una recopilación que se agrega cuando no se proporcionan metadatos personalizados.

Cada implantación de SODA proporciona una forma de crear una recopilación por defecto cuando proporciona un nombre de recopilación. Por ejemplo, en SODA para Java, utilice el método createCollection y proporcione solo un parámetro de nombre de recopilación:

db.admin().createCollection("myCol");

Esto crea una recopilación con metadatos de la recopilación por defecto. Cuando se crea una colección por defecto en una base de datos, los metadatos de la colección incluyen la siguiente información (independientemente de la implantación de SODA que utilice para crear la colección por defecto):

{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "UUID"
   },

   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "BLOB",
      "jsonFormat" : "OSON"
   },
   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },
   
   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },
   
   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },
   
   "readOnly" : false
}
Nota

Con Autonomous Database siempre gratis con Oracle Database 21c, los metadatos por defecto cambian de la siguiente manera.
{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "UUID"
   },

   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "JSON",
   },
   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },
   
   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },
   
   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },
   
   "readOnly" : false
}

Metadatos personalizados de recopilación de SODA en Autonomous Database

Describe los metadatos personalizados de recopilación de SODA en Autonomous Database.

Cada implantación de SODA proporciona una manera de personalizar los metadatos de recopilación durante la creación de la recopilación. Por ejemplo, en SODA para Java, puede utilizar el siguiente comando:

OracleDocument metadata = db.createDocumentFromString("metadata_string");
OracleCollection col = db.admin().createCollection("myCustomColl", metadata);

En este ejemplo, para metadata_string, puede utilizar los metadatos por defecto como punto de partida y personalizar lo siguiente:

  • Cambie keyColumn.assignmentMethod a CLIENT: cambie el valor de assignmentMethod en keyColumn en los metadatos a CLIENT (en lugar de UUID).

    Valores válidos para keyColumn.assignmentMethod en Autonomous Database:

    • UUID (valor por defecto): SODA genera las claves en función de UUID.

    • CLIENT: las claves las asigna la aplicación cliente.

  • Proporcione un valor mediaTypeColumn name: se necesita una columna de tipo de medio si la recopilación va a ser heterogénea, es decir, puede almacenar documentos que no sean de JavaScript Object Notation (JSON). Consulte Nombre de Columna de Tipo de Medio para obtener más información.

En el siguiente ejemplo se especifican las claves asignadas por el cliente y una columna de tipo de medio personalizada. mediaTypeColumn name se especifica con el valor YOUR_MEDIA_TYPE_COLUMN_NAME. De lo contrario, se utiliza la configuración por defecto.

{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "CLIENT"
   },
   
   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "BLOB"
   },

   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },

   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },

   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },

   "mediaTypeColumn" :
   {
      "name" : "YOUR_MEDIA_TYPE_COLUMN_NAME"
   },

   "readOnly" : false
}