日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MongoDB數(shù)據(jù)模型
在 MongoDB 中存儲數(shù)據(jù)非常靈活,它與關(guān)系型數(shù)據(jù)庫完全不同,在關(guān)系型數(shù)據(jù)庫中,插入數(shù)據(jù)之前必須先確定數(shù)據(jù)表的結(jié)構(gòu)并創(chuàng)建數(shù)據(jù)表。而 MongoDB 中對文檔的結(jié)構(gòu)沒有強(qiáng)制要求,只要合理即可。

在龍崗等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,龍崗網(wǎng)站建設(shè)費(fèi)用合理。

數(shù)據(jù)模型設(shè)計(jì)

MongoDB 提供了兩種數(shù)據(jù)模型,分別是嵌入式數(shù)據(jù)模型和規(guī)范化數(shù)據(jù)模型,您可以根據(jù)需要使用其中的任何一種。

在 MongoDB 中模型設(shè)計(jì)需要注意以下幾點(diǎn):

  • 要根據(jù)具體的項(xiàng)目需求來選擇合適的設(shè)計(jì)模式;
  • 如果是要同時使用的數(shù)據(jù),您可以將它們合并到一個文檔中,否則可以選擇將它們分成若干個文檔;
  • 可以有適當(dāng)?shù)臄?shù)據(jù)冗余,因?yàn)榕c計(jì)算時間相比,磁盤空間更便宜;
  • 針對最常用的用例優(yōu)化您的模型;
  • 寫入時執(zhí)行連接,而不是讀取時執(zhí)行連接;
  • 在模式中執(zhí)行復(fù)雜聚合。

嵌入式數(shù)據(jù)模型

嵌入式數(shù)據(jù)模型也稱為非規(guī)范化數(shù)據(jù)模型,在該模型中您可以將所有相關(guān)的數(shù)據(jù)存儲到一個文檔中,例如我們在三個不同的文檔中分別存儲了一個員工的個人信息、聯(lián)系方式和地址等信息,您還可以將這些信息整合到一個文檔中,如下所示:

{
    _id: ObjectId("601f4be6e646844cd045c8a4"),
    Emp_ID: "10025AE336",
    Personal_details:{
        First_Name: "Radhika",
        Last_Name: "Sharma",
        Date_Of_Birth: "1995-09-26"
    },
    Contact: {
        e-mail: "biancheng.net@gmail.com",
        phone: "9848022338"
    },
    Address: {
        city: "Hyderabad",
        Area: "Madapur",
        State: "Telangana"
    }
}

規(guī)范化數(shù)據(jù)模型

在規(guī)范化數(shù)據(jù)模型中,您可以通過引用來將原始文檔與子文檔關(guān)聯(lián)起來,例如您可以將上面的文檔信息以規(guī)范化數(shù)據(jù)模型重寫為以下幾個文檔:

Employee:

{
    _id: ObjectId("601f4be6e646844cd045c8a4"),
    Emp_ID: "10025AE336"
}

Personal_details:

{
    _id: ObjectId("601f50bae646844cd045c8a5"),
    empDocID: ObjectId("601f4be6e646844cd045c8a4"),
    First_Name: "Radhika",
    Last_Name: "Sharma",
    Date_Of_Birth: "1995-09-26"
}

Contact:

{
    _id: ObjectId("601f50bae646844cd045c8a6"),
    empDocID: ObjectId("601f4be6e646844cd045c8a4"),
    e-mail: "biancheng.net@gmail.com",
    phone: "9848022338"
}

Address:

{
    _id: ObjectId("601f50bae646844cd045c8a7"),
    empDocID: ObjectId("601f4be6e646844cd045c8a4"),
    city: "Hyderabad",
    Area: "Madapur",
    State: "Telangana"
}

【示例】假設(shè)我們需要為某個博客或網(wǎng)站進(jìn)行數(shù)據(jù)庫設(shè)計(jì),網(wǎng)站的具體要求如下:

  • 每個帖子都有唯一的標(biāo)題、描述和網(wǎng)址;
  • 每個帖子可以有一個或多個標(biāo)簽;
  • 每個帖子都有其發(fā)布者的名字和喜歡的人數(shù);
  • 每個帖子都可以有零個或多個評論,評論中包括他們的名字、信息、數(shù)據(jù)、時間和喜好。

在使用關(guān)系型數(shù)據(jù)庫來實(shí)現(xiàn)上述需求時至少需要創(chuàng)建三個表,如下圖所示:



圖:關(guān)系型數(shù)據(jù)庫架構(gòu)設(shè)計(jì)

若使用 MongoDB 來實(shí)現(xiàn)上述需求,可以使用一個集合來實(shí)現(xiàn),其結(jié)構(gòu)如下:

{
    _id: POST_ID,
    title: TITLE_OF_POST,
    description: POST_DESCRIPTION,
    by: POST_BY,
    url: URL_OF_POST,
    tags: [TAG1, TAG2, TAG3],
    likes: TOTAL_LIKES,
    comments: [
       {
          user:'COMMENT_BY',
          message: TEXT,
          dateCreated: DATE_TIME,
          like: LIKES
       },
       {
          user:'COMMENT_BY',
          message: TEXT,
          dateCreated: DATE_TIME,
          like: LIKES
       }
    ]
}


網(wǎng)頁題目:MongoDB數(shù)據(jù)模型
本文URL:http://www.5511xx.com/article/dhhjepc.html