mongodb資料合併設計 MongoDB資料建模

2021-10-13 01:54:06 字數 1212 閱讀 2320

mongodb中的資料具有靈活的模式。文件在同一集合,但它們不需要具有相同的字段或結構集合,集合文件中的公共字段可以包含不同型別的資料。

mongodb中的資料具有靈活的模式。與sql資料庫不同,sql資料庫必須在插入資料之前確定和宣告表的模式,mongodb的集合不會強制執行文件結構。這種靈活性有助於將文件對映到實體或物件。 每個文件可以匹配表示實體的資料字段,即使資料具有實質性的變化。然而,集合中的文件具有類似的結構。

資料建模中的關鍵挑戰是平衡應用程式的需求,資料庫引擎的效能特徵和資料檢索模式。 在設計資料模型時,請始終考慮資料的應用程式使用情況(即資料的查詢,更新和處理)以及資料本身的固有結構。

在mongodb中設計架構時有一些考慮:

根據使用者要求設計架構。

將物件合併到乙個文件中,否則分開它們(但確保不需要連線)。

複製資料(但有限制),因為與計算時間相比,磁碟空間便宜。

在寫入時加入,而不是讀取時加入。

為最常用的用例優化架構。

在模式中執行複雜聚合。

例項假設客戶需要他的部落格/**的資料庫設計,並檢視rdbms和mongodb架構設計之間的區別。**有以下要求。

每個帖子都有唯一的標題,描述和**。

每個帖子都可以有乙個或多個標籤。

每個帖子都有其發布者的名稱和總人數。

在rdbms架構中,上述要求的設計將具有最少的三個表。表與表之間的關係如下 -

而在mongodb模式中,設計將有乙個集合post,其結構以下 -

_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

通過上面的示例說明可以知道,在顯示資料時,在rdbms中需要連線三個表,而在mongodb中,資料將僅顯示在乙個集合中。

MongoDB(七)MongoDb資料結構

首先,向資料庫插入一條bjson資料 首先是定義文件,然後使用admin使用者名稱密碼登入,進入test資料庫,向test資料庫中插入此文件 表名稱和表中的記錄 插入結果,檢視mongovue如下圖所示 從上圖可以看出系統自帶的三個資料庫,local,admin,test,在加入一條記錄的時候,會自...

Mongodb 資料遷移

進入mongodb的安裝目錄 server 3.6 bin mongodump host 192.168 1.2 27017 d dbname uuername mongo ppasswd 123456 o dump host 配置mongodb的服務訪問位址 d 指定資料庫。可選引數,如果沒有該引...

MongoDB查詢資料

1 向demos集合中插入10000條資料 var arr for vari 0 i 10000 i db demo.insert arr 2 查詢counter小於100的資料 db demos.find 3 查詢counter大於666的資料 db demos.find 4 查詢大於10小於10...