PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 17/04/2019 15:15:18

alex2a7
Membre

Quel type de donnée utiliser ?

Bonjour,
Je travaille sur un projet codé en javascript et je dois stocker dans une base les données que j'ai créées à partir du javascript. J'ai réussi à les envoyer à ma base de données sans problème, mais il y a des données pour lesquelles je ne sais pas quel type je dois utiliser dans postgreSQL.
L'objet que je crée en javascript est de cette structure:
https://drive.google.com/file/d/1mEFYim … sp=sharing

Si je fais un "typeof" sur ma donnée, il retourne Object mais j'ai l'impression qu'il s'agit de plusieurs objets imbriqués dans un objet. Pourriez-vous m'aider à choisir le type de données à utiliser dans ma base de données pour cet élément?
Merci d'avance

Hors ligne

#2 17/04/2019 21:39:36

rjuju
Administrateur

Re : Quel type de donnée utiliser ?

Si ce  n'est pas un spam, merci de ne pas pointer vers une URL type google drive mais de copier/coller le contenu ici.

En ligne

#3 17/04/2019 21:41:45

alex2a7
Membre

Re : Quel type de donnée utiliser ?

Ce n'est pas un spam. Je voulais mettre une image mais dans la previsualisation avec la balise img cela ne fonctionnait pas.

Hors ligne

#4 17/04/2019 23:22:59

rjuju
Administrateur

Re : Quel type de donnée utiliser ?

Pourquoi ne pas mettre simplement un exemple d'objet javascript en texte ?

En ligne

#5 18/04/2019 08:16:45

alex2a7
Membre

Re : Quel type de donnée utiliser ?

ça ressemble à ça et encore je peux pas tout dérouler y a trop d'objets imbriqués:
…}

O: Object { title: "Table CAPA sig routes", visible: true, opacity: 1, … }

Ua: Object {  }

a: Object { Ve: true, opacity: 1, Oj: "ready", … }

ep: 371

g: 1

kb: Object { "change:source": (1) […], propertychange: (1) […], change: (1) […] }

l: null

o: null

qa: Object { "change:source": (1) […], propertychange: (1) […], change: (1) […] }

ra: Object {  }

s: Object { Ah: {…}, Ch: false, type: "change", … }

type: "TILE"

<prototype>: {…

Hors ligne

#6 18/04/2019 08:21:03

rjuju
Administrateur

Re : Quel type de donnée utiliser ?

Et pour quelle partie vous chercher un type adéquat sur postgres ?

En ligne

#7 18/04/2019 08:24:32

alex2a7
Membre

Re : Quel type de donnée utiliser ?

en fait j'ai une table couche construite comme suit
Couche
idcouche primary key
titre
keyword
version
visibilite
opacite
data

et tout ce bloc d'objets cycliques sont dans une seule variable js que je dois mettre dans data.

Hors ligne

#8 18/04/2019 10:31:48

rjuju
Administrateur

Re : Quel type de donnée utiliser ?

Je ne suis toujours pas sur de comprendre ce que vous voulez exactement.  Est-ce que vous cherchez un type de données pour certains des champs ou un moyen de sérialiser votre objet en un seul enregistrement ?


Si c'est le 2nd, pourquoi ne pas tout simplement utiliser un gros champ text, vu que vous ne pourrez pas garantir de cohérence de données de toute façon.

En ligne

#9 18/04/2019 10:33:03

alex2a7
Membre

Re : Quel type de donnée utiliser ?

ok merci je vais essayer avec ça

Hors ligne

#10 18/04/2019 11:23:41

alex2a7
Membre

Re : Quel type de donnée utiliser ?

ça ne fonctionne pas cela retourne ceci : [{"data":"[object Object]"},{"data":"[object Object]"}]

Hors ligne

#11 18/04/2019 12:30:29

dverite
Membre

Re : Quel type de donnée utiliser ?

En JS on peut a priori:

- appliquer JSON.stringify(var_objet) pour sérialiser l'objet (=produire une version texte stockable)

- le stocker en base dans un colonne text ou json

- le recréer en JS avec JSON.parse(texte)

Hors ligne

#12 18/04/2019 12:31:40

alex2a7
Membre

Re : Quel type de donnée utiliser ?

Déjà essayer mais c'est impossible car c'est un objet cyclique. Et en json c'esr impossible.

Hors ligne

#13 18/04/2019 12:37:46

dverite
Membre

Re : Quel type de donnée utiliser ?

Si cet objet n'est pas sérialisable tel quel, il faut entrer dans le détail de l'objet et comprendre quelle composante de l'objet sert à quoi, et écrire soi-même les routines objet->version sérialisée et version sérialisée->objet

Hors ligne

#14 18/04/2019 14:30:43

alex2a7
Membre

Re : Quel type de donnée utiliser ?

merci de votre retour mais malheureusement ce n'est pas moi qui gère l'objet. Il est créé avec la bibliothèque openLayer.js. La ce n'est qu'une partie de l'objet et encore ce n'est pas tout le temps le même. En réalité il y a encore plus d'objets imbriqués dans chaque objet ce qui n'est pas maintenable, d'autant plus que j'en ai une trentaine à faire comme ça.
Je vais essayer de trouver une autre solution pour construire le tout mais je reste à l'écoute si y'en a d'autre qui aurait des idées.

Hors ligne

Pied de page des forums