我正在尝试为这些类型的索引找到名称。我查看了Google和Postgres文档,而它们与Value->
运算符无关。以及它与常规广告有何不同:-> SomeInt
。
CREATE INDEX "someIndex" ON "me-db"."someTable" USING btree ((((jsondata -> 'SomeInt'::text) -> 'HasValue'::text)))
CREATE INDEX "someIndex2" ON "me-db"."someTable" USING btree ((((jsondata -> 'SomeInt'::text) -> 'Value'::text)))
->HasValue
和->Value
运算符的名称是什么? ->Value
与->Field
有何区别。
答案 0 :(得分:1)
这些是您json结构中的键名。如果您将另一个包裹起来,则意味着您有一个像这样的嵌套json(对于以上几行):
{“ SomeInt”:{“ HasValue”:1,“ Value”:2}}
答案 1 :(得分:0)
那些被称为表达或(更常见但不太正确)的功能索引。
您未使用->Value
,正在使用->'Value'
。那是不同的东西。拳头将寻找一个名为“值”的列,并将其内容用作要查找的键的名称。第二个使用文字字符串“ Value”作为要查找的键的名称。