您可以使用 modify() 方法更新集合中的一个或多个文档。X DevAPI 提供了其他方法,与 modify() 方法一起使用,可以:
- 设置和取消设置文档中的字段。 
- 追加、插入和删除数组。 
- 绑定、限制和排序要修改的文档。 
modify() 方法的工作原理是筛选集合以仅包含要修改的文档,然后将您指定的运算应用于这些文档。
在以下示例中,modify() 方法使用搜索条件来标识要更改的文档,然后 set() 方法替换嵌套的 demographics 对象中的两个值。
mysql-js> db.countryinfo.modify("Code = 'SEA'").set(
"demographics", {"LifeExpectancy": 78, "Population": 28})修改文档后,使用 find() 方法验证更改。
要从文档中删除内容,请使用 modify() 和 unset() 方法。例如,以下查询从与搜索条件匹配的文档中删除 GNP。
mysql-js> db.countryinfo.modify("Name = 'Sealand'").unset("GNP")使用 find() 方法验证更改。
mysql-js> db.countryinfo.find("Name = 'Sealand'")
{
    "_id": "00005e2ff4af00000000000000f4",
    "Name": "Sealand",
    "Code:": "SEA",
    "IndepYear": 1967,
    "geography": {
        "Region": "British Islands",
        "Continent": "Europe",
        "SurfaceArea": 193
    },
    "government": {
        "HeadOfState": "Michael Bates",
        "GovernmentForm": "Monarchy"
    },
    "demographics": {
        "Population": 27,
        "LifeExpectancy": 79
    }
}要将元素追加到数组字段,或插入或删除数组中的元素,请使用 arrayAppend()、arrayInsert() 或 arrayDelete() 方法。以下示例修改 countryinfo 集合以启用国际机场跟踪。
第一个示例使用 modify() 和 set() 方法在所有文档中创建一个新的 Airports 字段。
在不指定搜索条件的情况下修改文档时要谨慎;这样做会修改集合中的所有文档。
mysql-js> db.countryinfo.modify("true").set("Airports", [])添加 Airports 字段后,下一个示例使用 arrayAppend() 方法将新机场添加到其中一个文档中。$.Airports 在以下示例中代表当前文档的 Airports 字段。
mysql-js> db.countryinfo.modify("Name = 'France'").arrayAppend("$.Airports", "ORY")使用 find() 查看更改。
mysql-js> db.countryinfo.find("Name = 'France'")
{
    "GNP": 1424285,
    "_id": "00005de917d80000000000000048",
    "Code": "FRA",
    "Name": "France",
    "Airports": [
        "ORY"
    ],
    "IndepYear": 843,
    "geography": {
        "Region": "Western Europe",
        "Continent": "Europe",
        "SurfaceArea": 551500
    },
    "government": {
        "HeadOfState": "Jacques Chirac",
        "GovernmentForm": "Republic"
    },
    "demographics": {
        "Population": 59225700,
        "LifeExpectancy": 78.80000305175781
    }
}要在数组中插入其他位置的元素,请使用 arrayInsert() 方法指定要在路径表达式中插入的索引。在本例中,索引为 0,即数组中的第一个元素。
mysql-js> db.countryinfo.modify("Name = 'France'").arrayInsert("$.Airports[0]", "CDG")要从数组中删除元素,您必须将要删除的元素的索引传递给 arrayDelete() 方法。
mysql-js> db.countryinfo.modify("Name = 'France'").arrayDelete("$.Airports[1]")- MySQL 参考手册 提供了帮助您搜索和修改 JSON 值的说明。 
- 有关完整语法定义,请参阅 CollectionModifyFunction。