我正在运行PostgreSQL 9.3。我有一个名为“模型”的列,类型为“json”(不是 jsonb)。 “模型”列的内容类似于以下内容:
{
"section": {
"colors": ["red", "blue", "green"]
}
}
是否可以查询model -> section -> colors
包含“蓝色”的行?
答案 0 :(得分:1)
9.3中没有json比较运算符。您可以调用函数text
并将函数的结果转换为Distinct on
。如果json数组包含重复的元素,则使用select distinct on (id) t.*
from my_table t,
json_array_elements(model->'section'->'colors')
where value::text = '"blue"';
:
const probabilitiesSlotMachine = [{0 : 1000}, {1 : 100}, {2 : 50}, {3 : 30}, {4 : 20}, {5 : 10}, {6 : 5}, {7 : 4}, {8 : 2}, {9 : 1}]
var allSlotMachineResults = []
probabilitiesSlotMachine.forEach(function(obj, index){
for (var key in obj){
for (var loop = 0; loop < obj[key]; loop ++){
allSlotMachineResults.push(key)
}
}
});