相关的文档10bet官方网站 本手册下载 本手册的摘录

20.3.3.4修改文档

你可以使用修改()方法来更新集合中的一个或多个文档。的方法提供了其他方法修改()方法:

  • 设置和取消设置文档中的字段。

  • 添加、插入和删除数组。

  • 绑定、限制和排序要修改的文档。

设置和取消设置文档字段

修改()方法的工作原理是过滤集合,使其只包含要修改的文档,然后将指定的操作应用到这些文档。

在下面的例子中,修改()方法使用搜索条件来标识要更改的文档,然后设置()方法替换嵌套的人口统计对象中的两个值。

mysql-js > db.countryinfo。修改(“代码=‘海’”)。set("人口统计",{"预期寿命":78,"人口":28})

修改文档后,使用find ()方法验证更改。

要从文档中删除内容,请使用修改()设置()方法。例如,下面的查询将从匹配搜索条件的文档中删除GNP。

mysql-js > db.countryinfo。修改(" Name =西兰”).unset(国民生产总值)

使用find ()方法验证更改。

mysql-js > db.countryinfo。查找("Name = 'Sealand'") {"_id": "00005e2ff4af00000000000000f4", "Name": "Sealand", "Code:" SEA", "IndepYear": 1967, "geography": {"Region": "British Islands", "Continent": "Europe", "SurfaceArea": 193}, "government": {"HeadOfState": "Michael Bates", "GovernmentForm": "君主制"},"demographic ": {"Population": 27, "LifeExpectancy": 79}}
添加、插入和删除数组

要将元素追加到数组字段,或在数组中插入或删除元素,请使用arrayAppend ()arrayInsert (),或arrayDelete ()方法。下面的示例修改countryinfo收集,以便跟踪国际机场。

第一个例子使用修改()设置()方法在所有文档中创建新的Airports字段。

谨慎

在不指定搜索条件的情况下修改文档时要小心;这样做将修改集合中的所有文档。

mysql-js > db.countryinfo.modify(“真正的”)。集(“机场”,[])

添加了Airports字段后,下一个示例使用arrayAppend ()方法向其中一个文档添加新机场。$.机场在下面的示例中,表示当前文档的Airports字段。

mysql-js > db.countryinfo。修改(" Name =法国”).arrayAppend(" $。机场”、“ORY”)

使用find ()看到变化。

mysql-js > db.countryinfo。查找("Name = 'France'") {"GNP": 1424285, "_id": " 00005de917d800000000000000000048 ", "Code": "FRA", "Name": "France", "Airports": ["ORY"], "IndepYear": 843, "geography": {"Region": "西欧","Continent": "Europe", "SurfaceArea": 551500}, "government": {"HeadOfState": "Jacques Chirac", "GovernmentForm": "Republic"}, " statistics ":{"人口":59225700,"预期寿命":78.80000305175781}}

要在数组的不同位置插入元素,请使用arrayInsert ()方法指定要插入到路径表达式中的索引。在本例中,索引是0,即数组中的第一个元素。

mysql-js > db.countryinfo。修改(" Name =法国”).arrayInsert(" $。机场[0]”、“CDG”)

要从数组中删除元素,必须传递给arrayDelete ()方法要删除的元素的索引。

mysql-js > db.countryinfo。修改(" Name =法国”).arrayDelete (" $ .Airports[1]”)
相关信息