MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Có cách nào để lưu trữ các đối tượng python trực tiếp trong mongoDB mà không cần tuần tự hóa chúng không

Không có cách nào để lưu trữ một đối tượng trong một tệp (cơ sở dữ liệu) mà không cần tuần tự hóa nó. Nếu dữ liệu cần chuyển từ quy trình này sang quy trình khác hoặc đến máy chủ khác, nó sẽ cần được tuần tự hóa theo một số hình thức để được truyền đi. Vì bạn đang hỏi về MongoDB, dữ liệu sẽ hoàn toàn được tuần tự hóa theo một số hình thức để được lưu trữ trong cơ sở dữ liệu MongoDB. Khi sử dụng MongoDB, đó là BSON .

Nếu bạn thực sự đang hỏi về việc liệu có cách nào để lưu trữ dạng thô hơn của một đối tượng Python trong tài liệu MongoDB hay không, bạn có thể chèn một Binary vào một tài liệu có thể chứa bất kỳ dữ liệu nào bạn muốn. Nó không thể truy vấn trực tiếp theo bất kỳ cách nào trong biểu mẫu đó, vì vậy bạn có thể mất rất nhiều lợi ích khi sử dụng cơ sở dữ liệu tài liệu NoSQL như MongoDB.

>>> from pymongo import MongoClient
>>> client = MongoClient('localhost', 27017)
>>> db = client['test-database']
>>> coll = db.test_collection    
>>> # the collection is ready now 
>>> from bson.binary import Binary
>>> import pickle
>>> # create a sample object
>>> myObj = {}
>>> myObj['demo'] = 'Some demo data'
>>> # convert it to the raw bytes
>>> thebytes = pickle.dumps(myObj)
>>> coll.insert({'bin-data': Binary(thebytes)})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để hợp nhất nhiều trường trong một tập hợp?

  2. Mongodb Healthcheck Từng bước

  3. Cách tạo trường tăng tự động

  4. Trích xuất danh sách các chuỗi con từ MongoDB bằng Biểu thức chính quy

  5. Chiếu trình điều khiển MongoDB C # $ elemMatch $