Comparer
BSON ou MessagePack
BSON et MessagePack représentent des données binaires de type document, mais BSON est une représentation typée associée à MongoDB tandis que MessagePack sérialise des objets de façon générale.
Quel format choisir ?
Utilisez BSON pour les documents MongoDB et ses valeurs propres comme ObjectId et les dates. Envisagez MessagePack pour l’échange compact hors MongoDB et convenez des extensions et de leur prise en charge.
Adapté pour BSON
Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON
- Conserver des types comme les dates et les données binaires
- Utiliser des pilotes et outils qui lisent et écrivent du BSON
Adapté pour MessagePack
Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles
- Encoder en binaire tableaux, cartes et valeurs de base proches de JSON
- Échanger extensions et horodatages entre bibliothèques compatibles
Informations générales
| Élément | BSON | MessagePack |
|---|---|---|
| Extension | .bson | .msgpack, .mpk |
| Type MIME | application/bson | application/octet-stream |
| Usages courants | Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON | Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles |
| Comment ouvrir | Lisez-le avec mongorestore ou un outil ou une bibliothèque compatible BSON. Pour examiner son contenu, convertissez-le en Extended JSON ou dans une autre représentation lisible. Ne modifiez pas le fichier binaire dans un éditeur de texte. | Lisez-le avec une bibliothèque ou un décodeur compatible MessagePack. Pour examiner son contenu, utilisez une notation diagnostique ou une vue proche de JSON et vérifiez l’affichage des données binaires et extensions. |
| Exporter ou convertir | Lors d’une conversion en JSON, les dates, ObjectId et valeurs binaires peuvent nécessiter la notation Extended JSON ou une représentation propre à l’application, car le JSON standard n’a pas de types équivalents. Pour une conversion aller-retour, choisissez une méthode qui préserve les types et testez-la avec des données réelles. | Lors d’une conversion en JSON, données binaires et extensions peuvent nécessiter des tableaux, chaînes ou enveloppes propres à l’outil, car JSON standard n’a pas d’équivalents directs. Pour un aller-retour, testez types, plages numériques, horodatages, clés de cartes et extensions avec des données réelles. |
Choisir selon l’usage
Conserver des types comme les dates et les données binaires
Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON
BSONUtiliser des pilotes et outils qui lisent et écrivent du BSON
Sérialiser des documents MongoDB · Échanger des documents entre outils compatibles BSON
BSONEncoder en binaire tableaux, cartes et valeurs de base proches de JSON
Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles
MessagePackÉchanger extensions et horodatages entre bibliothèques compatibles
Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles
MessagePackPoint clé 1
BSON définit des documents et tableaux préfixés par leur longueur, avec types explicites comme dates, ObjectId et Decimal128. MessagePack fournit cartes, tableaux, nombres, texte, binaire et extensions applicatives.
En savoir plus sur les différencesPoint clé 2
BSON convient au modèle documentaire MongoDB et ses outils ; MessagePack sert à la sérialisation générale sans base imposée.
En savoir plus sur les différencesEn savoir plus sur les différences
Choisissez BSON si les types documentaires MongoDB comptent et MessagePack pour un protocole binaire indépendant d’une base. Avant conversion, mappez dates, largeurs d’entiers, décimaux, ObjectId et extensions, puis testez dans les deux sens.
- Les deux sont binaires, mais leurs structures et systèmes de types diffèrent : l’un ne se lit pas directement comme l’autre.
- BSON possède des types et conventions documentaires spécifiques. Dans MessagePack, l’application définit le sens des codes d’extension.
- La conversion peut changer dates, plages numériques, décimaux ou identifiants. Documentez les correspondances et validez les valeurs côté destinataire.
Questions fréquentes
Suffit-il de renommer un fichier BSON en MessagePack ?
Non. Changer l’extension ne convertit ni la structure binaire ni les types ; il faut décoder et resérialiser avec des correspondances explicites.