Postgres's jsonb format is definitely not "essentially" a string. You can get native indexes on json fields in Postgres, and you can query fields however you like.
vs
db.api.find({tags:"qui"}, {guid:1, name:1})
they are surrounded by quotes, is that not a string ?