iç içe geçirilmiş bir diziye nasıl JSONB sütununa zorlamak için JSON nesnesini potansiyel olarak var olan JSON nesnelerini iç içe geçmiş bir diziye zorladım - aşağıdaki JSON snippet'inde "sayfalara" bakın. (Hala o anlamak zor biraz bulma rağmen)JSONB sütunu
{
"session_id": "someuuid",
"visitor_ui": 1,
"pages": [
{
"datetime": "2016-08-13T19:45:40.259Z",
"duration,": 0,
"device_id": 1,
"url": {
"path": "/"
}
},
{
"datetime": "2016-08-14T19:45:40.259Z",
"duration,": 0,
"device_id": 1,
"url": {
"path": "/test"
}
},
// how can i push a new value (page) here??
]
"visit_page_count": 2
}
Ben jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean])
farkında ama bunun kullanarak tahmin gerektirecektir ilk SELECT
bütün JSONB kolonu, sırayla kaç unsurları öğrenmek için bu "sayfalar" içinde zaten var ve jsonb_set
'u kullanmaya iten hangi dizin? Postgres 9.5/9.6'da programlama dillerinde bildiklerimizin eşdeğerini elde etmenin bir yolunu umuyoruz. pages.push({"key": "val"})
.
Postgresql 9.5 veya 9.6 ile bunu yapmanın en iyi ve en kolay yolu ne olurdu?
Vay canına! Çok teşekkür ederim - aynı zamanda bunu daha ayrıntılı bir şekilde açıklamak için zaman ayırdınız, çünkü belgeleri okumayı başaramadım. :-) – Dac0d3r
Yardım için sevindim, evet, dokümanlar bazen zor okunabilir, özellikle fonksiyonların tanımlandığı bu tablolar olabilir. Bunu daha fazla ayrıntıyla birlikte SO Belgeleri'ne koyacağım. – Patrick
"Sayfalar" özelliğini ayarlamak için bir yol var mı? İlk önce ayrı bir güncelleme yapmak zorunda kalmadan mı? – Dac0d3r