Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Lưu trữ tên file và đường dẫn trong MongoDB

Ví dụ đơn giản lưu trữ metadata file (tên và đường dẫn) trong MongoDB collection.

Tạo collection lưu file

> db.demo645.insertOne({
  'fileName': 'MongoDB Program',
  'fileLocation': 'C:/users/workspace/AllMongoDBProgram/MongoDB Program'
});
> db.demo645.insertOne({
  'fileName': 'SumOfTwoNumbers.java',
  'fileLocation': 'E:/eclipseWorkspace/AllJavaPrograms/SumOfTwoNumbers.java'
});
> db.demo645.insertOne({
  'fileName': 'Script.sql',
  'fileLocation': 'C:/MySQLQuery/Script.sql'
});

Hiển thị tất cả file

> db.demo645.find();

Kết quả:

{
  "_id": ObjectId("5e9c78f36c954c74be91e6e8"),
  "fileName": "MongoDB Program",
  "fileLocation": "C:/users/workspace/AllMongoDBProgram/MongoDB Program"
}
{
  "_id": ObjectId("5e9c78f36c954c74be91e6e9"),
  "fileName": "SumOfTwoNumbers.java",
  "fileLocation": "E:/eclipseWorkspace/AllJavaPrograms/SumOfTwoNumbers.java"
}
{
  "_id": ObjectId("5e9c78f46c954c74be91e6ea"),
  "fileName": "Script.sql",
  "fileLocation": "C:/MySQLQuery/Script.sql"
}

Mở rộng schema cho production:

{
  fileName: String,
  fileLocation: String,
  fileSize: Number,           // kích thước bytes
  mimeType: String,           // application/pdf, image/png...
  uploadDate: Date,           // ISODate
  uploadedBy: ObjectId,       // ref User
  checksum: String,           // MD5/SHA256 verify integrity
  tags: [String],             // tìm kiếm, phân loại
  metadata: Object            // mở rộng tùy ý (width, height, duration...)
}

Lưu ý: MongoDB không lưu file nhị phân (binary) lớn trực tiếp (giới hạn 16MB/document). Dùng GridFS cho file > 16MB, hoặc lưu trên cloud storage (S3, GCS) và chỉ lưu metadata + URL trong MongoDB.