jsonb

Started by hmidi slimover 8 years ago6 messagesgeneral
Jump to latest
#1hmidi slim
hmidi.slim2@gmail.com

I have a column name of type 'jsonb' on my table named product. The format
of the column:
name: {"key1": "text1", "key2": "text2"}

When I make a query to fetch data from the table I got this format:
name: '{"key1": "text1", "key2": "text2"}'

Why does postgresql returns the name such as string type and not jsonb? is
it a bug or is there something else to add?

#2Merlin Moncure
mmoncure@gmail.com
In reply to: hmidi slim (#1)
Re: jsonb

On Tue, Nov 14, 2017 at 3:32 PM, hmidi slim <hmidi.slim2@gmail.com> wrote:

I have a column name of type 'jsonb' on my table named product. The format
of the column:
name: {"key1": "text1", "key2": "text2"}

When I make a query to fetch data from the table I got this format:
name: '{"key1": "text1", "key2": "text2"}'

Why does postgresql returns the name such as string type and not jsonb? is
it a bug or is there something else to add?

not quite following. Can you paste the query you are trying to
execute along with the results vs. expectation? thanks

merlin

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3hmidi slim
hmidi.slim2@gmail.com
In reply to: Merlin Moncure (#2)
Re: jsonb

I'm trying to use the function to_jsonb and create the name:
to_jsonb ('{"key1":" ' || 'text1' || '","key2":" ' || 'text2' || '"}');
But after that I used Objection.js ORM to get data using the query:
Product.query().where('id',1).then(prod => {console.log(prod)})
I think that the problem maybe with the usage of to_jsonb function, maybe I
miss something. But when I fetch the data with the ORM I found that the
type was a string and not a jsonb

2017-11-14 23:09 GMT+01:00 Merlin Moncure <mmoncure@gmail.com>:

Show quoted text

On Tue, Nov 14, 2017 at 3:32 PM, hmidi slim <hmidi.slim2@gmail.com> wrote:

I have a column name of type 'jsonb' on my table named product. The

format

of the column:
name: {"key1": "text1", "key2": "text2"}

When I make a query to fetch data from the table I got this format:
name: '{"key1": "text1", "key2": "text2"}'

Why does postgresql returns the name such as string type and not jsonb?

is

it a bug or is there something else to add?

not quite following. Can you paste the query you are trying to
execute along with the results vs. expectation? thanks

merlin

#4Merlin Moncure
mmoncure@gmail.com
In reply to: hmidi slim (#3)
Re: jsonb

On Tue, Nov 14, 2017 at 4:30 PM, hmidi slim <hmidi.slim2@gmail.com> wrote:

I'm trying to use the function to_jsonb and create the name:
to_jsonb ('{"key1":" ' || 'text1' || '","key2":" ' || 'text2' || '"}');
But after that I used Objection.js ORM to get data using the query:
Product.query().where('id',1).then(prod => {console.log(prod)})
I think that the problem maybe with the usage of to_jsonb function, maybe I
miss something. But when I fetch the data with the ORM I found that the type
was a string and not a jsonb

Still not quite following. My advice would be to:

#1) work out the SQL you want the database to be running and verify
the results are correct

#2) figure out out to get the ORM to send that SQL

If you need help figuring out that SQL the ORM is actually running,
try turning on statement logging in postgresql.conf and watching the
log.

merlin

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#5Johannes Graën
johannes@selfnet.de
In reply to: Merlin Moncure (#4)
Re: jsonb

On 11/14/2017 11:30 PM, hmidi slim wrote:

I'm trying to use the function to_jsonb and create the name:
to_jsonb ('{"key1":" ' || 'text1' || '","key2":" ' || 'text2' || '"}');

This query converts a string into a JSON object that consist of that
string. I guess what you intend to accomplish is rather:

select jsonb_build_object('key1', 'text1', 'key2', 'text2');

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#6John R Pierce
pierce@hogranch.com
In reply to: hmidi slim (#3)
Re: jsonb

On 11/14/2017 2:30 PM, hmidi slim wrote:

I'm trying to use the function to_jsonb and create the name:
to_jsonb ('{"key1":" ' || 'text1' || '","key2":" ' || 'text2' || '"}');
But after that I used Objection.js ORM to get data using the query:
Product.query().where('id',1).then(prod => {console.log(prod)})
I think that the problem maybe with the usage of to_jsonb function,
maybe I miss something. But when I fetch the data with the ORM I found
that the type was a string and not a jsonb

never heard of your ORM... does it even know what postgres jsonb is ?  
do you know what actual SQL query that piece of ORMism generates ?

--
john r pierce, recycling bits in santa cruz

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general