日韩av手机在线免费观看_四虎免看黄_亚洲一区中文字幕_亚洲小视频网站_国产一区日韩在线_国产欧美精品一区二区

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫(kù) > DB2 > mongoDB數(shù)據(jù)庫(kù)基礎(chǔ) 之 使用投影剔除‘額外’字段的操作過程

mongoDB數(shù)據(jù)庫(kù)基礎(chǔ) 之 使用投影剔除‘額外’字段的操作過程

時(shí)間:2024-02-05 12:47作者:下載吧人氣:34

簡(jiǎn)介

實(shí)際開發(fā)過程中,為便于開發(fā)人員定位問題,常存在多個(gè)額外的字段。例如:增加createdAt、updatedAt字段以查看數(shù)據(jù)的創(chuàng)建和更改時(shí)間。而對(duì)于客戶端而言,無需知道其存在。針對(duì)以上情況,本文詳細(xì)介紹了“額外”字段的用途以及處理過程。

技術(shù)棧

  • mongodb 4.0.20
  • mongoose 5.10.7

mongodb中,collection中存儲(chǔ)的字段并不僅僅有業(yè)務(wù)字段。有些情況下,會(huì)存儲(chǔ)多余的字段,以便于開發(fā)人員定位問題、擴(kuò)展集合等。

額外的含義是指 和業(yè)務(wù)無關(guān)、和開發(fā)相關(guān)的字段。這些字段不需要被用戶所了解,但是在開發(fā)過程中是至關(guān)重要的。

1.2 產(chǎn)生原因

產(chǎn)生額外字段的原因是多種多樣的。

  • 如使用mongoose插件向db中插入數(shù)據(jù)時(shí),會(huì)默認(rèn)的生成_id、__v字段
  • 如軟刪除,則是通過控制is_deleted實(shí)現(xiàn)..

2 額外字段的分類

額外字段的產(chǎn)生原因有很多,可以以此進(jìn)行分類。

2.1 _id、__v字段

產(chǎn)生原因:以mongoose為例,通過schema->model->entity向mongodb中插入數(shù)據(jù)時(shí),該數(shù)據(jù)會(huì)默認(rèn)的增加_id、__v字段。

_id字段是由mongodb默認(rèn)生成的,用于文檔的唯一索引。類型是ObjectID。mongoDB文檔定義如下:


MongoDB creates a unique index on the _id field during the creation of a collection. The _id index prevents clients from inserting two documents with the same value for the _id field. You cannot drop this index on the _id field.<

__v字段是由mongoose首次創(chuàng)建時(shí)默認(rèn)生成,表示該條doc的內(nèi)部版本號(hào)。


The versionKey is a property set on each document when first created by Mongoose. This keys value contains the internal revision of the document. The versionKey option is a string that represents the path to use for versioning. The default is __v.

2.2 createdAt、updatedAt字段

createdAt、updatedAt字段是通過timestamp選項(xiàng)指定的,類型為Date。


The timestamps option tells mongoose to assign createdAt and updatedAt fields to your schema. The type assigned is Date.By default, the names of the fields are createdAt and updatedAt. Customize the field names by setting timestamps.createdAt and timestamps.updatedAt.

2.3 is_deleted字段

is_deleted字段是實(shí)現(xiàn)軟刪除一種常用的方式。在實(shí)際業(yè)務(wù)中,出于各種原因(如刪除后用戶要求再次恢復(fù)等),往往采用的軟刪除,而非物理刪除。

因此,is_deleted字段保存當(dāng)前doc的狀態(tài)。is_deleted字段為true時(shí),表示當(dāng)前記錄有效。is_deleted字段為false時(shí),表示當(dāng)前記錄已被刪除。

3 額外字段相關(guān)操作

3.1 額外字段生成

_id字段是必選項(xiàng);__v、createdAt、updatedAt字段是可配置的;status字段直接加在s對(duì)應(yīng)的chema中。相關(guān)的schema代碼如下:

isdeleted: {
 type: String,
 default:true,
 enum: [true, false],
},
id: {
 type: String,
 index: true,
 unqiue: true,
 default:uuid.v4(),
}},
{timestamps:{createdAt:'docCreatedAt',updatedAt:"docUpdatedAt"},versionKey:false});
標(biāo)簽MongoDB,技術(shù)文檔,數(shù)據(jù)庫(kù),MongoDB

相關(guān)下載

查看所有評(píng)論+

網(wǎng)友評(píng)論

網(wǎng)友
您的評(píng)論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號(hào)

主站蜘蛛池模板: 91久久精品国产91久久 | 在线综合视频 | 久久www免费人成看片高清 | 美女在线一区二区 | 久久国产三级 | 久久高清亚洲 | 曰批视频在线观看 | 国产三级 | 国产精品18hdxxxⅹ在线 | 日日天天| 国产一区二区三区精品久久久 | 精品国产一区二区三区免费 | 日本成人在线观看网站 | 欧美成人a | 精品入口麻豆88视频 | 午夜免费观看网站 | 久久极品 | 成人三级在线播放 | 国产人免费人成免费视频 | 久色视频在线 | 日韩欧美视频免费在线观看 | 成人精品国产一区二区4080 | 国产免费视频 | 国产伦精品一区二区三区照片91 | 亚洲人成在线播放 | 久久33 | 亚洲精品一区二区三区中文字幕 | 亚洲区一| 国内精品视频在线观看 | 亚洲另类自拍 | 自拍视频一区二区三区 | 亚洲高清在线 | 欧美在线 | 欧美aⅴ在线观看 | 综合色婷婷 | 岛国av免费看 | 亚洲视频中文字幕 | 亚洲第一成人av | 午夜看电影在线观看 | 成人一级毛片 | 蜜桃视频在线观看免费视频网站www |