Autonomous Database 上的 SODA 收集描述資料

描述 Autonomous Database 上的預設和自訂收集描述資料。

Autonomous Database 上的 SODA 預設收集中繼資料

描述 Autonomous Database 上的預設收集描述資料,亦即未提供自訂描述資料時所新增之集合的描述資料。

每個 SODA 實作都提供在提供集合名稱時建立預設集合的方式。例如,在 Java 的 SODA 中,您可以使用 createCollection 方法,只提供集合名稱參數:

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

這會使用預設的集合描述資料建立集合。當您在 Autonomous Database 上建立預設集合時,集合中繼資料會包含下列資訊 (無論您用來建立預設集合的 SODA 實作為何):

{
   "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
}

Autonomous Database 上的 SODA 自訂收集中繼資料

描述 Autonomous Database 上的 SODA 集合自訂描述資料。

每個 SODA 實行都可讓您在建立集合時,自訂收集描述資料。例如,在 Java 的 SODA 中,您可以使用下列命令:

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

在此範例中,對於 metadata_string,您可以使用預設中繼資料作為起點,並自訂下列項目:

  • keyColumn.assignmentMethod 變更為 CLIENT:將中繼資料中 keyColumn 下的 assignmentMethod 值變更為 CLIENT (而非 UUID)。

    Autonomous DatabasekeyColumn.assignmentMethod 的有效值:

    • UUID (預設):索引鍵是由 SODA 根據 UUID 所產生。

    • CLIENT :金鑰由用戶端應用程式指派。

  • 提供 mediaTypeColumn name 值:如果集合為異質集合,則需要媒體類型資料欄,亦即它可以儲存 JavaScript Object Notation (JSON) 以外的文件。請參閱媒體類型資料欄名稱瞭解詳細資訊。

下列範例指定用戶端指定的金鑰與自訂媒體類型資料欄。以 YOUR_MEDIA_TYPE_COLUMN_NAME 值指定 mediaTypeColumn name。否則,會使用預設值。

{
   "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
}