當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


MongoDB $rename用法及代碼示例

MongoDB 提供了不同類型的字段更新操作符來更新文檔字段的值,$rename 操作符就是其中之一。此運算符用於使用新名稱更新字段的名稱。字段的新名稱應與字段的現有名稱不同。

  • $rename 操作符邏輯上首先對舊名稱和新名稱執行 $unset 操作,然後執行$set 使用新名稱進行操作。
  • 如果文檔包含具有新名稱的字段,則此運算符將刪除該字段並將指定字段重命名為新名稱。
  • 此運算符還可以處理嵌入/嵌套文檔或數組。在嵌入/嵌套文檔中,此運算符可以重命名指定字段以及將字段移入和移出嵌入文檔
  • 您可以根據需要在 update()、findAndModify() 等方法中使用此運算符。
  • 如果指定的重命名字段不可用,則此運算符將不執行任何操作。

用法:

{$rename:{<field1>:<newName1>, <field2>:<newName2>, ... } }

此處,newName 是新名稱,它必須與字段的現有名稱不同。借助點符號指定嵌入/嵌套文檔中的字段。

在以下示例中,我們正在使用:

Database: GeeksforGeeks
Collection: Employee
Document: three documents that contain the details of the employees in the form of field-value pairs.



重命名單個文檔中的字段:

在此示例中,我們將 ExperienceYear 字段的名稱重命名為名字為 Amu 的員工文檔中的 Experience。


db.Employee.update({"name.first":"Amu"}, 
                   {$rename:{"experienceYear":"experience"}})

重命名多個文檔中的字段:

在此示例中,我們將 Employee 集合中存在的所有文檔中的部門字段的名稱重命名為 unit。


db.Employee.updateMany({}, {$rename:{"department":"unit"}})

重命名嵌套/嵌入文檔中的字段:

在此示例中,我們將 PersonalDetails.contactInfo 的名稱重命名為名為 Sumit 的員工的嵌入/嵌套文檔中的 PersonalDetails.phoneNumber 字段。


db.Employee.update({"name.first":"Sumit"}, 
                  {$rename:{"personalDetails.contactInfo":"personalDetails.phoneNumber"}})




相關用法


注:本文由純淨天空篩選整理自ankita_saini大神的英文原創作品 MongoDB – Rename Operator ($rename)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。