Org Bson Type Binary Options
Pengemudi mencakup beberapa kelas dan antarmuka yang digunakan untuk mewakili dokumen BSON. Meskipun pada umumnya tidak dibutuhkan oleh pengguna API pengemudi tingkat tinggi, kelas BsonDocument sangat penting untuk mengetahui dokumen yang dikelola secara internal oleh pengemudi. Kelas BsonDocument dapat mewakili struktur dinamis. Dokumen dari kerumitan apapun dengan API yang aman tipe Misalnya, document. can dapat dibangun sebagai BsonDocument sebagai berikut. Kebersihan jenis berasal dari BsonDocument yang mengimplementasikan Map String, BsonValue sehingga bahkan tipe built-in seperti int String and List harus dibungkus Di sub-kelas BsonValue Untuk daftar lengkap sub-jenis BsonValue, berkonsultasilah dengan dokumentasi API BsonValue. Sebagian besar aplikasi akan menggunakan kelas Dokumen, bukan Seperti BsonDocument, kelas Dokumen dapat mewakili dokumen terstruktur secara dinamis dari kompleksitas apapun, ketikannya adalah Jauh lebih longgar, karena Dokumen mengimplementasikan Map String, Object Sebagai hasilnya, dokumen yang sama seperti di atas dapat dibangun dengan menggunakan D Kelas ocument sebagai berikut. Ada sedikit kode untuk ditulis, tapi kesalahan runtime mungkin terjadi jika Anda secara tidak sengaja menambahkan instance dari jenis nilai yang tidak didukung. Jenis nilai yang paling sering digunakan adalah. Sebenarnya, ini memungkinkan untuk mengubah pemetaan ini menjadi mekanisme untuk melakukannya. Dibahas kemudian dalam referensi ini. Meskipun tidak dianjurkan untuk aplikasi baru, peningkatan dari seri driver 2 x dapat terus menggunakan antarmuka DBObject untuk mewakili dokumen BSON DBObject serupa dengan Dokumen karena mewakili nilai BSON sebagai Objek tetapi memiliki Beberapa kekurangan yang tidak mungkin diatasi. Ini adalah antarmuka dan bukan kelas, jadi API tidak dapat diperluas tanpa melanggar kompatibilitas biner. Sebenarnya, tidak benar-benar menerapkan Map String, Object. because adalah sebuah antarmuka, kelas beton yang terpisah Disebut BasicDBObject yang mengimplementasikan antarmuka itu, diperlukan. Untuk menggabungkan semua ini, pengandar berisi antarmuka kecil namun kuat yang disebut Bson Any class yang mewakili B Dokumen SON, apakah disertakan dalam driver itu sendiri atau dari pihak ketiga, dapat mengimplementasikan antarmuka ini dan kemudian dapat digunakan di tempat mana pun di API tingkat tinggi dimana dokumen BSON diperlukan Tiga kelas yang dibahas di atas semuanya menerapkan antarmuka ini dan juga dapat Digunakan secara bergantian berdasarkan kebutuhan aplikasi yang diberikan Misalnya. Pembuat dan Alat Writers. jsonutil untuk menggunakan modul json Python dengan dokumen BSON. Digunakan untuk menggunakan modul json Python dengan dokumen BSON. Modul ini menyediakan dua metode pembuangan dan beban pembantu. Yang membungkus metode json asli dan memberikan konversi BSON eksplisit ke dan dari json Hal ini memungkinkan pengkodean dan penguraian khusus dokumen BSON ke dalam mode String JSo yang Luar Biasa dari MongoDB Ini memungkinkan Anda mengkodekan decode dokumen BSON ke JSON bahkan ketika mereka menggunakan tipe BSON khusus. Contoh Penggunaan serialisasi. Example penggunaan deserialization. Alternatively, Anda dapat secara manual melewati default untuk itu memenangkan t menangani Binary dan kode contoh karena mereka diperpanjang String Anda tidak bisa memberikan custom default, tapi akan lebih cepat karena ada sedikit rekursi. Jika aplikasi Anda tidak memerlukan fleksibilitas yang ditawarkan oleh JSONOptions dan menghabiskan banyak waktu di modul jsonutil, lihatlah python-bsonjs untuk yang bagus. Peningkatan kinerja python-bsonjs adalah BSON cepat ke MongoDB Extended JSON converter untuk Python yang dibangun di atas python-bsonjs libbson bekerja paling baik dengan PyMongo saat menggunakan RawBSONDocument. Diklik dalam versi 2 8 Format output untuk Timestamp telah berubah dari format baru ini Diterjemahkan ke sebuah instance dari Timestamp Format lama akan terus diterjemahkan ke sebuah python dict seperti sebelum Encoding ke format lama tidak lagi didukung karena tidak pernah benar dan kehilangan informasi tipe Ditambahkan dukungan untuk bilangan yang tidak terdefinisi - baru dalam bahasa MongoDB 2 6 - dan parsing date dalam format ISO-8601.Diklik dalam versi 2 7 Preserves order saat merender contoh SON, Timestamp, Code, Binary, dan DBRef. Diklik dalam versi 2 3 Ditambahkan dump dan loa Ds pembantu untuk secara otomatis menangani konversi ke dan dari json dan mendukung Binary dan Code. class DatetimeRepresentation LEGACY 0.Legacy MongoDB Extended representasi JSON datetime. Contoh akan dikodekan ke JSON dalam format di mana tanggalAsMilliseconds adalah bilangan bulat bertanda 64 bit yang memberi jumlah milidetik sejak zaman Unix UTC Ini adalah pengkodean default sebelum PyMongo versi 3 4. Baru di versi 3 4.NumberLong representasi datetime. Contoh akan dikodekan ke JSON dalam format di mana tanggalAsMilliseconds adalah representasi string dari bilangan bulat bertanda 64 bit yang memberi jumlah milidetik sejak zaman Unix UTC. Baru di representasi datetime versi 3.ISO-8601. Contoh yang lebih besar dari atau sama dengan zaman Unix UTC akan dikodekan ke JSON dalam contoh format sebelum zaman Unix UTC akan dikodekan seolah-olah representasi datetime adalah NUMBERLONG. Baru di versi 3 4.class JSONOptions. Enkapalkan opsi JSON untuk pembuangan dan Loads. Raises ConfigurationError on Python 2 6 jika simplejson tidak diinstal dan documentclass bukan default dict. strictnumberlong Jika objek True Int64 dikodekan ke MongoDB Extended JSON tipe Strict mode NumberLong yaitu Jika tidak, mereka akan dikodekan sebagai int Defaults to False. Datetimerepresentation Representasi untuk digunakan saat mengkodekan contoh Default ke LEGACY. strictuuid Jika objek True dikodekan dengan MongoDB Extended JSON tipe Strict mode Binary Jika tidak maka akan dikodekan sebagai Default ke False. documentclass Dokumen BSON yang dikembalikan oleh muatan akan diterjemahkan ke sebuah instance Dari kelas ini Harus menjadi subclass dari Defaults untuk dict. uuidrepresentation Perwakilan BSON untuk digunakan saat mengkodekan dan mendekodekan saya Nomen Default ke PYTHONLEGACY. tzaware Jika True MongoDB Extended JSON tipe Strict mode Date akan diterjemahkan ke dalam instance sadar zona waktu jika tidak, mereka akan menjadi naif Defaults to True. tzinfo Sebuah subclass yang menentukan zona waktu dari mana objek datetime harus diterjemahkan Utc. args argumen untuk CodecOptions. kwargs argumen untuk CodecOptions. New di versi 3 4. DEFAULTJSONOPTIONS JSONOptions strictnumberlong Salah, datetimerepresentation 0, strictuuid Salah, documentclass dict, tzaware Benar, uuidrepresentation PYTHONLEGACY, unicodedecodeerrorhandler strict, tzinfo object di 0x7feb78b44e50. JSONOptions default untuk Pengkodean JSON encoding. Baru di versi 3 4. STRICTJSONOPTIONS JSONOptions strictnumberlong Benar, datetimerepresentation 2, strictuuid Benar, documentclass dict, tzaware Benar, representasi berat PYTHONLEGACY, unicodedecodeerrorhandler yang ketat, objek tzinfo pada 0x7feb78b44e50.JSONOptions untuk MongoDB Extended JSON s Strict mode encoding. Baru di Versi 3 4. Fungsi Helper yang membungkus. Fungsi kurir yang menangani semua tipe BSON termasuk Binary dan Code. Specification Version 1 1.BSON adalah format biner dimana nol atau lebih pasangan nilai kunci yang dipesan disimpan sebagai satu kesatuan Kami menyebut entitas ini sebuah dokumen. Mengikuti tatabahasa menentukan versi 1 1 dari standar BSON Kami telah menulis tata bahasa menggunakan sintaks pseudo-BNF Data BSON yang valid diwakili oleh dokumen non-terminal. Basic Types. The jenis dasar berikut digunakan sebagai terminal di sisa tata bahasa Setiap tipe harus diserialkan dalam format little-endian.4 byte integer bertanda 32-bit, dua s complement.8 byte integer bertanda 64-bit, dua s complement.8 byte 64-bit unsigned integer.8 byte 64-bit IEEE 754 -2008 biner floating point.16 byte 128-bit IEEE 754-2008 desimal floating point. Berikut ini menentukan tata bahasa BSON yang lain Perhatikan bahwa string yang dikutip mewakili terminal, dan harus diinterpretasikan dengan semantik C misalnya x01 mewakili byte 0000 0001 Juga Perhatikan tha T kita menggunakan operator sebagai singkatan untuk pengulangan e g x01 2 x01 x01 Bila digunakan sebagai operator unary, berarti pengulangan dapat terjadi 0 kali atau lebih. int32 elist x00. X0B ename cstring cstring. Regular expression - Cstring pertama adalah pola regex, yang kedua adalah string pilihan regex Pilihan diidentifikasi oleh karakter, yang harus disimpan dalam urutan abjad Pilihan yang valid adalah i untuk case insensitive matching, m untuk multiline matching, X untuk mode verbose, saya membuat w, W, dll lokal tergantung, s untuk mode dotall cocok dengan semuanya, dan u untuk membuat w, W, dll cocok dengan unicode. X0C ename string byte 12.DBPointer Usang. X0D ename string X0E ename string X0F ename codews. JavaScript w lingkup kode. X10 ename int32 X11 ename uint64 X12 ename int64 X13 ename decimal128.String - Int32 adalah jumlah byte dalam byte 1 untuk trailing x00 byte adalah nol atau lebih karakter UTF-8 yang dikodekan. Zero atau lebih diubah karakter dikodekan UTF-8 yang diikuti oleh x00 byte HARUS berisi x00 , Maka itu tidak full UTF-8.int32 subtipe byte. Binary - Int32 adalah jumlah byte dalam byte. Generic binary subtype. int32 string document. Array - Dokumen untuk array adalah dokumen BSON normal dengan nilai integer Untuk kunci, dimulai dengan 0 dan berlanjut secara berurutan Misalnya, array merah, biru akan dikodekan sebagai dokumen Tombolnya harus berada dalam urutan numerik yang menaik. UTC datetime - Int64 adalah UTC milidetik sejak zaman Unix. Timestamp - internal khusus Jenis yang digunakan oleh replikasi MongoDB dan sharding Pertama 4 byte adalah kenaikan, 4 kedua adalah kunci timestamp. Min - Tipe khusus yang membandingkan lebih rendah dari semua nilai elemen BSON lainnya yang mungkin. Max key - Tipe khusus yang membandingkan lebih tinggi dari semua elemen BSON lainnya Nilai ent. Generic binary subtype - Ini adalah subtipe biner yang paling umum digunakan dan harus menjadi default untuk driver dan alat. Tunda biner BSON atau BinData digunakan untuk mewakili array byte Ini agak mirip dengan gagasan Java dari ByteArray BSON Nilai biner memiliki subtipe Ini digunakan untuk menunjukkan jenis data dalam array byte Subtipe dari nol sampai 127 yang telah ditentukan atau yang dilindungi Subtipe dari 128-255 ditetapkan oleh pengguna. X02 Binary Old - Ini dulu adalah subtipe default, tapi tidak digunakan lagi untuk x00 Driver dan alat harus dipastikan untuk menangani x02 dengan tepat Struktur data biner array byte di non-terminal biner harus di int32 diikuti oleh Byte Int32 adalah jumlah byte dalam pengulangan. X03 UUID Old - Ini dulu adalah subtipe UUID, tapi tidak berlaku lagi untuk x04 Driver dan alat untuk bahasa dengan tipe UUID asli harus menangani x03 dengan tepat. X80- xFF User defined subtypes Data biner dapat berupa apapun. Lingkup kode W - Int32 adalah panjang byte dari keseluruhan nilai codew String adalah kode JavaScript Dokumen ini adalah pemetaan dari pengidentifikasi ke nilai, yang mewakili ruang lingkup dimana String harus dievaluasi. Pengemudi mencakup beberapa kelas dan antarmuka yang digunakan untuk mewakili dokumen BSON. Meskipun umumnya tidak diperlukan oleh pengguna API pengemudi tingkat tinggi, kelas BsonDocument adalah inti dari cara dokumen dikelola secara internal oleh pengemudi The BsonDocument Kelas dapat mewakili dokumen terstruktur secara dinamis dari kerumitan apapun dengan API yang aman seperti Misalnya, dokumen tersebut dapat dibangun sebagai BsonDocument sebagai berikut. Keamanan jenis berasal dari BsonDocument yang mengimplementasikan Map String, BsonValue sehingga bahkan tipe built-in seperti int String Dan Daftar harus dibungkus dalam sub-kelas BsonValue Untuk daftar lengkap sub tipe BsonValue, silakan baca dokumentasi BsonValue API. Sebagian besar aplikasi w Penggunaan kelas Dokumen buruk, bukan Seperti BsonDocument, kelas Document dapat mewakili dokumen terstruktur secara dinamis dari kompleksitas apapun, pengetikannya jauh lebih longgar, karena Dokumen mengimplementasikan Map String, Object Sebagai hasilnya, dokumen yang sama seperti di atas dapat dibangun menggunakan kelas Document Sebagai berikut. Ada sedikit kode untuk ditulis, tapi kesalahan runtime mungkin terjadi jika Anda secara tidak sengaja menambahkan sebuah instance dari tipe nilai yang tidak didukung. Jenis nilai yang paling sering digunakan adalah. Sebenarnya, ini mungkin untuk mengubah pemetaan ini mekanisme untuk melakukannya ditutupi. Kemudian dalam referensi ini. Meskipun tidak disarankan untuk aplikasi baru, peningkatan dari seri driver 2 x dapat terus menggunakan antarmuka DBObject untuk mewakili dokumen BSON DBObject serupa dengan Dokumen karena merupakan nilai BSON sebagai Objek namun memiliki beberapa kekurangan. Itu tidak mungkin untuk diatasi. Ini adalah antarmuka daripada kelas, jadi API tidak dapat diperpanjang tanpa melanggar kompatibilitas biner. Tidak benar-benar mengimplementasikan Map String, Object. because adalah sebuah antarmuka, kelas beton terpisah yang disebut BasicDBObject yang mengimplementasikan antarmuka itu, diperlukan. Untuk menggabungkan semuanya, pengandar berisi antarmuka kecil namun kuat yang disebut Bson Any class yang mewakili sebuah Dokumen BSON, baik yang disertakan dalam driver itu sendiri atau dari pihak ketiga, dapat mengimplementasikan antarmuka ini dan kemudian dapat digunakan di tempat mana pun di API tingkat tinggi dimana diperlukan dokumen BSON. Tiga kelas yang dibahas di atas semuanya mengimplementasikan antarmuka ini dan juga dapat Digunakan secara bergantian berdasarkan kebutuhan aplikasi yang diberikan Sebagai contoh. Pembicara dan Penulis. BSON serialisasi dan deserialiation. new BSON - Menciptakan deserializer BSON seralizer baru yang dapat Anda gunakan untuk membuat serialize dan deserialize metode BSON. Serion seriise mengambil objek javascript dan Pilihan objek opsional dan mengembalikan sebuah Buffer. Obyek param objek Javascript untuk cerita bersambung. Param serializer akan memeriksa apakah kunci valid. Param serialize fungsi javascript. Kembali mengembalikan instance Buffer. Metode serialisasiWithBufferAndIndex BSON mengambil objek, contoh buffer target dan objek pilihan opsional dan mengembalikan indeks serialisasi akhir pada buffer akhir. Buffer, pilihan Obyek param objek Javascript untuk cerita bersambung. Param buffer Buffer Anda pra-dialokasikan untuk menyimpan objek BSON serial. Param serializer akan memeriksa apakah kunci valid. Param serialize fungsi javascript. Param mengabaikan bidang undefined. Param indeks di buffer di mana kita ingin memulai serialisasi ke. Return mengembalikan indeks yang menunjuk ke byte tertulis terakhir dalam buffer. Metode BSON calculateObjectSize mengambil objek javascript dan objek pilihan opsional dan mengembalikan ukuran objek BSON. Obyek param objek Javascript untuk cerita bersambung. Param serialize fungsi javascript. Return mengembalikan instance Buffer. Metode deserialize BSON mengambil Buffer dan objek pilihan opsional dan mengembalikan objek Javascript yang telah disortir. Param mengevaluasi fungsi dalam dokumen BSON scoped ke objek deserialized. Param cache dievaluasi fungsi untuk digunakan kembali. Param menggunakan kode crc32 untuk caching, jika tidak gunakan string fungsi. Param ketika deserializing Long akan memasukkannya ke Nomor jika lebih kecil dari 53 bit. Param ketika deserializing Biner akan mengembalikannya sebagai contoh Buffer. Param ketika deserializing akan mempromosikan nilai BSON ke jenis yang setara terdekatnya. Param memungkinkan untuk menentukan apakah ada bidang apa yang ingin kita kembalikan sebagai unserialized raw buffer. Param kembali BSON regular expressions seperti contoh BSONRegExp. Return mengembalikan indeks berikutnya dalam buffer setelah deserialization x jumlah dokumen. Metode deserializeStream BSON mengambil Buffer, startIndex dan memungkinkan lebih banyak kontrol atas deserialization dari Buffer yang berisi dokumen BSON yang disatukan. StartIndex, numberOfDocuments, documents, docStartIndex, pilihan. Param buffer buffer yang berisi kumpulan dokumen BSON. Param startIndex indeks awal di Buffer data dimana deserialization akan dimulai. Param numberOfDokumen jumlah dokumen untuk deserialize. Param mendokumentasikan sebuah array tempat menyimpan dokumen deserialized. Param docStartIndex indeks di array dokumen dari mana untuk mulai memasukkan dokumen. Param mengevaluasi fungsi dalam dokumen BSON scoped ke objek deserialized. Param cache dievaluasi fungsi untuk digunakan kembali. Param menggunakan kode crc32 untuk caching, jika tidak gunakan string fungsi. Param ketika deserializing Long akan memasukkannya ke Nomor jika lebih kecil dari 53 bit. Param ketika deserializing Biner akan mengembalikannya sebagai contoh Buffer. Param ketika deserializing akan mempromosikan nilai BSON ke jenis yang setara terdekatnya. Param memungkinkan untuk menentukan apakah ada bidang apa yang ingin kita kembalikan sebagai unserialized raw buffer. Param kembali BSON regular expressions seperti contoh BSONRegExp. Mengembalikan kembali tim pengembang Javascript Object. Manage yang disengaja dengan berbagai perizinan dan beberapa proyek Pelajari lebih lanjut tentang Paket dan Organisasi Pribadi.
Comments
Post a Comment