/api/db/.../byindex/eq
对HTTP GET、DELETE和PATCH执行如下操作:
- GET:使用由 index_no 指定的索引返回指定类别的记录(一条或多条)
- DELETE:删除索引编号与指定键匹配的单个对象
- PATCH:更新由键值标识的记录中的单个字段
对于具有自动标识符的类
/api/db/<dbname>/classes/<struct_no>/byautoid 是为定义了自动 ID 的类提供的。 这是**/api/db/<dbname>/classes/<struct_no>/byindex/<autoid_index_no>**的简写形式;也就是说,其行为就好像路径中的 byautoid 部分被重写为 byindex/<autoid_index_no> 一样。也就是说,服务器会找到自动 ID 索引,并将其标识符插入到 byindex/... 请求中。其工作原理如下:
GET
GET 请求使用由 index_no 指定的索引返回指定类别的记录。此端点支持与 index_no 列表请求相同的查询参数,并以相同的 JSON 格式返回记录数据。(详情请参阅 api/db/<dbname>/classes/<struct_no>/byindex/<index_no>/list 页面。)
请注意,目前仅支持整数、非复合键。 以下请求将检索最多 5 条记录,其索引 2 的键等于 42:
GET http://localhost:8083/api/db/xsqldb/classes/3/byindex/2/eq/42?count=5
DELETE
DELETE 请求会删除索引编号与键值匹配的单个对象。 例如,以下请求会删除第一个索引 2 的值等于 42 的记录:
DELETE http://localhost:8083/api/db/xsqldb/classes/3/byindex/2/eq/42
PATCH
PATCH 请求会更新由键值标识的记录中的单个字段。 警告:仅更新一条记录。如果存在多个具有相同键的记录,更新哪一条取决于索引实现。因此,不建议对非唯一索引使用此方法。 请求体是一个 JSON 对象。要更新的字段在单个对象“record”内传递,其键对应于记录的字段名称。 字段数据的格式与 /api/db/<dbname>/classes/<struct_no> 资源的 POST 方法相同,并且适用相同的限制。 例如,可以使用以下内容更新记录中的整数字段 i 和字符串字段 s :
PATCH http://localhost:8083/api/db/xsqldb/classes/3/byindex/2/eq/42
{
"record":
{
"i": 3,
"s": "test"
}
}
请注意,任何未包含在 PATCH 请求中的字段都不会受到影响。如果需要,必须将字段显式重置为 null。例如:
PATCH http://localhost:8083/api/db/xsqldb/classes/3/byindex/2/eq/42
{
"record":
{
"s": null
}
}