YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Simplified subtitles

← Set Unset - Data Wranging with MongoDB

Get Embed Code
4 Languages

Showing Revision 1 created 08/25/2016 by Udacity Robot.

  1. 我们刚刚看了一种使用保存
  2. 来修改文档的方法
  3. 现在 让我们来看看另一种文档更新方法
  4. 这里我想向你介绍两件事
  5. 一件事就是 pymongo 中的更新命令或方法
  6. 这是关于集合对象的方法 和集合运算符
  7. 让我们先来讨论更新
  8. 更新预计将查询文档作为其第一个参数
  9. 然后预计更新文档作为其第二个参数
  10. 该更新文档指定 MongoDB 应该在
  11. 与该查询匹配的文档上进行什么操作
  12. 在默认情况下 更新只在一个文档上运行
  13. 首先找到匹配查询文档
  14. 集合的语义是如果该文档
  15. 不包含这里指定的字段
  16. 那么应该发生的是该字段应该添加该值
  17. 如果文档已包含该字段
  18. 那么将该字段更新为提供的值
  19. 现在 在我运行此代码之前
  20. 我想做的是向你介绍
  21. 非集合的集合逆运算符
  22. 这两个代码几乎完全一样
  23. 唯一的区别是这里
  24. 非集合的语义是无论什么文档与该查询相匹配
  25. 如果具有这里指定的字段
  26. 删除该文档 忽略该值
  27. 现在 如果本文档没有该字段
  28. 则该调用没有效果
  29. 所以现在我们看看集合运算符和非集合运算符
  30. 它们使用更新命令
  31. 现在 让我们继续运行这两个程序
  32. 并看看它们有什么效果 但是 我首先需要查询 Mongo 内核中的本文档
  33. 以查看其当前状态
  34. 然后 我们可以看到运行这两个程序如何改变其当前状态
  35. 所以 我要在这里运行找到命令
  36. 现在 这是与我们查看的 Python 程序中
  37. 所看到的完全相同的命令
  38. 唯一的区别是名称
  39. 名称不同只是为了匹配代表两种不同编程语言的约定
  40. 在这种情况下为 JavaScript
  41. 因为 Mongo 内核的语言为 JavaScript
  42. 在其它情况下为 Python 因为我们使用 Pymongo 驱动程序 可以吗?
  43. 将要发出此查询
  44. 我想指出的是实际上存在 Iso 代码
  45. 现在 让我们运行非集合示例
  46. 然后回到 Mongo 内核 并再次发出我们的查询
  47. 可以吗?并注意到 Iso 国家代码消失
  48. 因为我们只运行该命令
  49. 现在 让我们运行我们的集合示例
  50. 再次记住这只是简单地使用集合运算符
  51. 让我们在 Mongo 内核内再次进行查询
  52. 并注意 Iso 国家代码现在我们文档内
  53. 因此 现在我们查看
  54. 允许我们修改文档的两种不同命令
  55. 保存命令和更新命令
  56. 我们查看与更新命令一起使用的两个不同运算符
  57. 现在 我觉得有必要
  58. 在我们继续前进之前提醒你
  59. 真的很容易忘记在这里
  60. 设置运算符 如果你以这种方式发出命令
  61. 将要发生的是整个文档
  62. 将替换与此查询相匹配的文档
  63. 以便其仅包含下划线标识字段和此字段
  64. 因此 从本质上讲 文档将完全由单个字段组成
  65. 因此 一定注意正确使用更新