MySQL连接器/ c++
MySQL连接器库,适用于C和c++应用程序 |
与关系表上的索引类似,可以在文档集合上定义索引,以提高访问集合中文档的效率。定义这样的索引调用X DevAPI方法收藏::方法createIndex ()
或者X DevAPI for C函数mysqlx_collection_create_index ()
并传递一个指定索引的JSON文档。索引规范文档的格式描述如下。索引可以在索引文档中包含一个或多个字段,并且可以指定索引字段是否必须始终存在。要使索引工作,文档中的值必须转换为SQL值。因此,您必须指定用于每个索引字段的SQL类型。
一个索引规范示例可能如下所示:
文档集合上索引的规范是一个JSON文档,具有以下成员:
单个字段描述由以下成员组成:
在索引规范中包含上面没有描述的其他字段是错误的。
如果没有指定索引类型,或者将其设置为“index”,则使用SQL命令“CREATE index…”创建普通索引。如果索引类型设置为“SPATIAL”,则创建的索引类似于SQL命令“CREATE SPATIAL index…”创建的索引,参见https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/spatial-index-optimization.html而且https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/creating-spatial-indexes.html.在这种情况下,不允许在字段描述中将“required”字段设置为false。
索引字段的值使用标准的MySQL类型转换从JSON转换为索引字段描述中指定的类型https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/type-conversion.html).注意,这意味着,例如,当在索引字段描述中使用数值类型而实际字段值非数值时,它通常会转换为0。
对于GEOJSON类型的索引字段,MySQL函数ST_GeomFromGeoJSON()用于转换(参见https://dev.10bet靠谱mysql.com/doc/refman/8.0/en/spatial-geojson-functions.html#function_st-geomfromgeojson).在这种情况下,“options”和“srid”字段可能出现在字段描述中,如果是这种情况,它们将在转换过程中用作ST_GeomFromGeoJSON()的参数。
以下数据类型可用于文档字段。类型描述不区分大小写。