当前位置: 首页 > news >正文

win7 iis架设网站中粮我买网是哪个公司做的网站

win7 iis架设网站,中粮我买网是哪个公司做的网站,手工制作简单又漂亮,做调研用到的大数据网站在 MongoDB 中,单个文档的大小限制为 16MB。如果某个对象(文档)的大小超过 16MB,可以通过以下几种方案解决: 1. 使用 GridFS 适用场景:需要存储大文件(如图像、视频、文档等)。 原…

在 MongoDB 中,单个文档的大小限制为 16MB。如果某个对象(文档)的大小超过 16MB,可以通过以下几种方案解决:


1. 使用 GridFS

适用场景:需要存储大文件(如图像、视频、文档等)。

原理

  • MongoDB 的 GridFS 是一种专门用于存储超过 16MB 文件的工具。
  • 它会将大文件分割成多个 chunk(默认大小 255KB),并存储在两个集合中:
    • fs.files:存储文件的元数据(如文件名、大小、类型等)。
    • fs.chunks:存储文件的内容分块。

实现步骤

存储大文件 使用 MongoDB 驱动的 GridFS 工具存储文件。

  1. Python 示例

     

  2. from pymongo import MongoClient
    from gridfs import GridFSclient = MongoClient("mongodb://localhost:27017")
    db = client.myDatabase
    fs = GridFS(db)# 存储文件
    with open("large_file.bin", "rb") as f:fs.put(f, filename="large_file.bin")
    

  3. 读取大文件
     

    # 读取文件
    file_data = fs.get_last_version(filename="large_file.bin")
    with open("output.bin", "wb") as f:f.write(file_data.read())
    


2. 将文档拆分为多个小文档

适用场景:文档包含大量嵌套数据,导致总大小超过 16MB。

解决思路

  • 将大文档拆分成多个子文档。
  • 使用字段(如 _idparentId)将这些子文档关联起来。

实现步骤

示例:拆分用户日志记录 原始大文档(超 16MB):

 

json:

{ "_id": "user1", "logs": [ { "timestamp": "2025-01-01", "action": "login" }, ... ] }

拆分为多个小文档:

 

json:

// 主文档

{ "_id": "user1", "type": "userMetadata" }

// 子文档

{ "parentId": "user1", "logs": [ { "timestamp": "2025-01-01", "action": "login" }, ... ] }

查询时合并:

 

javascript:

db.metadata.find({ _id: "user1" });

db.logs.find({ parentId: "user1" });


3. 使用 BSON 对象数组存储引用

适用场景:需要在文档中存储大量关联对象。

解决思路

  • 将大数组分割到其他集合中,主文档存储引用。

示例

大文档超限前:

 

json:

{ "_id": "project1", "name": "Big Project", "tasks": [ /* 超大量任务数据 */ ] }

优化后:

 

json:

// 主文档 { "_id": "project1", "name": "Big Project" } // 任务文档 { "projectId": "project1", "taskId": 1, "taskName": "Task 1", ... }

查询时通过 projectId 关联:

 

javascript:

db.projects.find({ _id: "project1" }); db.tasks.find({ projectId: "project1" });


4. 压缩数据

适用场景:文档中包含重复数据或可压缩结构(如 JSON 数据)。

解决思路

  • 在存储之前压缩数据(例如使用 GZIP、Zlib 等)。
  • 查询时解压数据。

示例

Python 实现

 

python:

import zlib
from pymongo import MongoClientclient = MongoClient("mongodb://localhost:27017")
db = client.myDatabase
collection = db.myCollection# 压缩存储
data = {"key": "value" * 10000}
compressed_data = zlib.compress(str(data).encode("utf-8"))
collection.insert_one({"_id": "compressed_doc", "data": compressed_data})# 解压读取
doc = collection.find_one({"_id": "compressed_doc"})
decompressed_data = zlib.decompress(doc["data"]).decode("utf-8")

5. 修改数据结构

适用场景:文档设计冗余或结构不合理。

解决思路

  • 简化嵌套层级。
  • 使用更紧凑的数据类型(如数组代替对象)。

优化前

 

json:

{ "_id": "order1", "customer": { "id": 1, "name": "John Doe" }, "items": [ { "productId": "p1", "productName": "Product 1", "quantity": 2 } ] }

优化后

 

json:

{ "_id": "order1", "customerId": 1, "items": [ { "p": "p1", "q": 2 } ] }


6. 使用文件系统或其他存储服务

适用场景:非结构化大数据(如媒体文件、大型JSON)。

解决思路

  • 将大数据存储到文件系统、Amazon S3、Azure Blob 等。
  • 在 MongoDB 中存储文件路径或 URL。

总结

  • 优先选择方案
    1. 使用 GridFS 存储大文件。
    2. 拆分文档分表设计 解决超大文档问题。
    3. 结合压缩或外部存储进一步优化。
http://www.yayakq.cn/news/864739/

相关文章:

  • 上海亿网站建设创建商城app
  • 网站建设百度搜索到左边的图网站验证
  • 可以免费搭建网站吗国外网站免费dns
  • 类似好123门户网站开发复杂么做标签网站是干嘛的
  • 加强机关门户网站建设方案wordpress博客漏洞
  • 十堰网站制作wordpress手机怎么使用
  • 适合夫妻二人观看的电视剧成都seo
  • wordpress淘客采集苏州优化有限公司
  • 泉州网站seo公司网站维护更新费用
  • 西昌建设招聘信息网站wordpress 加载
  • 找网站推广济南网站建设首选传承网络
  • 网站是陕西省城乡建设综合服务中心化妆品购物网站建设目的
  • 河北专业做网站天津百度推广排名
  • 桂林旅游网站制作ICP备案网站服务内容
  • 深圳市做网站知名公司有哪些网站管理助手创建数据库
  • 深圳营销网站dede title 我的网站
  • 国外饮品网站铁岭网站开发
  • 网站建设哪家公司好成都网站建设logo在线设计标小智
  • 网站html代码做商城网站应该用什么程序
  • 东莞 传媒 网站建设易语言登录WordPress账号
  • 做网站用源码上海市城市建设工程学校网站
  • c2c网站都有哪些如何推进网站建设
  • 电子商务网站建设规划门户网站建设意见
  • 东莞建设小学网站社交网站开发客户
  • 怎么查网站备案号秦淮区建设局网站
  • 视频直播源码刷seo快速排名
  • 做网站赚钱吗?遂宁网站seo
  • 横栏建设网站网站建设项目规划书案例分析
  • 国内餐饮设计网站建设博客建站系统
  • 景区网站怎么做网页版微信二维码登录