作者回复: 不会加lock。所以mongodump出来的不是一个一致的backup。通常可以加上 --oplog参数来获取一个某个时间点的快照类的备份。
作者回复: 4.2可以做到: db.test.insert({a: 2, b: 3}) db.test.updateMany({}, [{ $set: { c: { $add: ["$a", "$b"] } } }])
作者回复: 如果可以停服务,可以用 mongodump -d xxx 方式 如果不能停服,需要用一些工具: 如果在阿里云,可以考虑mongoshake 工具 MongoDB官方有mongomirror工具 我们Tapdata也有一个工具,有免费3个月的使用期,如果只是一次性迁移够用了。
作者回复: 备份不阻塞,除非你用fsyncLock()。 不上锁的话,就用 --oplog
作者回复: Python 语言最接近英语,也最合适演示。我可以考虑加入一些适当的Java示例在后续章节中。
作者回复: 那个没有限制。限制就是最大不能超过16MB。ES的长处是查询/搜索,写入从来不是它优势。 MongoDB比较平衡点,增删改查都还不错。
作者回复: 有一些值得注意的地方 1) schema 管理会复杂, 你不能一下确定这个集合到底是什么结构。解决方案是使用Schema Validation 或者 JSON Schema来定义这个集合的严格结构。 JSON Schema类似于关系数据库的schema,但是不同的是如果你需要修改这个schema的话可以随时更改,理论上也不需要对已有数据做更新或者迁移。
作者回复: 这个没有绝对值,通常和文档大小有关。如果在1KB以内的话,我会推荐用1000左右的batch size
作者回复: 可以去问Eliot Horowitz... 程序员的惰性吧,写原型的时候谁都不喜欢折腾安全性的东西,麻烦。