MongoDB stocke les enregistrements sous forme de documents BSON. Dans ClickPipes, vous pouvez configurer l’ingestion de documents BSON dans ClickHouse au format JSON ou JSON String. Le tableau suivant présente le mappage pris en charge des types de champs BSON vers JSON :
| Type BSON MongoDB | Type JSON ClickHouse | Remarques |
|---|---|---|
| ObjectId | String | |
| String | String | |
| Entier sur 32 bits | Int64 | |
| Entier sur 64 bits | Int64 | |
| Double | Float64 | |
| Boolean | Bool | |
| Date | String | format ISO 8601 |
| Expression régulière | {Options: String, Pattern: String} | Expression régulière MongoDB avec champs fixes : Options (indicateurs regex) et Pattern (motif regex) |
| Timestamp | {T: Int64, I: Int64} | Format interne de timestamp MongoDB avec champs fixes : T (timestamp) et I (incrément) |
| Decimal128 | String | |
| Données binaires | {Data: String, Subtype: Int64} | Données binaires MongoDB avec champs fixes : Data (encodé en base64) et Subtype (type de données binaires) |
| JavaScript | String | |
| Null | Null | |
| Array | Dynamic | Les Array de types homogènes deviennent Array(Nullable(T)) ; les Array contenant plusieurs types primitifs sont promus vers le type commun le plus général ; les Array contenant des types complexes incompatibles deviennent des Tuples |
| Object | Dynamic | Chaque champ imbriqué est mappé récursivement |