av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

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)沒有強制要求,只要合理即可。

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

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

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

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

  • 要根據(jù)具體的項目需求來選擇合適的設(shè)計模式;
  • 如果是要同時使用的數(shù)據(jù),您可以將它們合并到一個文檔中,否則可以選擇將它們分成若干個文檔;
  • 可以有適當(dāng)?shù)臄?shù)據(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: "[email protected]",
        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: "[email protected]",
    phone: "9848022338"
}

Address:

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

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

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

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



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

若使用 MongoDB 來實現(xiàn)上述需求,可以使用一個集合來實現(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)站標(biāo)題:MongoDB數(shù)據(jù)模型
轉(zhuǎn)載源于:http://uogjgqi.cn/article/dhhjepc.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流