mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
feat:Amazon Document与MongoDB 的差异
This commit is contained in:
parent
ee81831a1c
commit
504827e05d
@ -274,6 +274,65 @@ MongoDB 单文档原生支持原子性,也具备事务的特性。当谈论 Mo
|
||||
|
||||
WiredTiger 日志也会被压缩,默认使用的也是 Snappy 压缩算法。如果日志记录小于或等于 128 字节,WiredTiger 不会压缩该记录。
|
||||
|
||||
## Amazon Document与MongoDB 的差异
|
||||
|
||||
Amazon DocumentDB(与 MongoDB 兼容) 是一种快速、可靠、完全托管的数据库服务。Amazon DocumentDB 可在云中轻松设置、操作和扩展与 MongoDB 兼容的数据库。
|
||||
|
||||
### `$vectorSearch` 运算符
|
||||
|
||||
Amazon DocumentDB 不支持`$vectorSearch`作为独立运营商。相反,我们在`$search`运营商`vectorSearch`内部支持。有关更多信息,请参阅 [向量搜索 Amazon DocumentDB](https://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/vector-search.html)。
|
||||
|
||||
### `OpCountersCommand`
|
||||
|
||||
Amazon DocumentDB 的`OpCountersCommand`行为偏离于 MongoDB 的`opcounters.command` 如下:
|
||||
|
||||
- MongoDB 的`opcounters.command` 计入除插入、更新和删除之外的所有命令,而 Amazon DocumentDB 的 `OpCountersCommand` 也排除 `find` 命令。
|
||||
- Amazon DocumentDB 将内部命令(例如`getCloudWatchMetricsV2`)对 `OpCountersCommand` 计入。
|
||||
|
||||
### 管理数据库和集合
|
||||
|
||||
Amazon DocumentDB 不支持管理或本地数据库,MongoDB `system.*` 或 `startup_log` 集合也不支持。
|
||||
|
||||
### `cursormaxTimeMS`
|
||||
|
||||
在 Amazon DocumentDB 中,`cursor.maxTimeMS` 重置每个请求的计数器。`getMore`因此,如果指定了 3000MS `maxTimeMS`,则该查询耗时 2800MS,而每个后续`getMore`请求耗时 300MS,则游标不会超时。游标仅在单个操作(无论是查询还是单个`getMore`请求)耗时超过指定值时才将超时`maxTimeMS`。此外,检查游标执行时间的扫描器以五 (5) 分钟间隔尺寸运行。
|
||||
|
||||
### explain()
|
||||
|
||||
Amazon DocumentDB 在利用分布式、容错、自修复的存储系统的专用数据库引擎上模拟 MongoDB 4.0 API。因此,查询计划和`explain()` 的输出在 Amazon DocumentDB 和 MongoDB 之间可能有所不同。希望控制其查询计划的客户可以使用 `$hint` 运算符强制选择首选索引。
|
||||
|
||||
### 字段名称限制
|
||||
|
||||
Amazon DocumentDB 不支持点“。” 例如,文档字段名称中 `db.foo.insert({‘x.1’:1})`。
|
||||
|
||||
Amazon DocumentDB 也不支持字段名称中的 $ 前缀。
|
||||
|
||||
例如,在 Amazon DocumentDB 或 MongoDB 中尝试以下命令:
|
||||
|
||||
```shell
|
||||
rs0:PRIMARY< db.foo.insert({"a":{"$a":1}})
|
||||
```
|
||||
|
||||
MongoDB 将返回以下内容:
|
||||
|
||||
```shell
|
||||
WriteResult({ "nInserted" : 1 })
|
||||
```
|
||||
|
||||
Amazon DocumentDB 将返回一个错误:
|
||||
|
||||
```shell
|
||||
WriteResult({
|
||||
"nInserted" : 0,
|
||||
"writeError" : {
|
||||
"code" : 2,
|
||||
"errmsg" : "Document can't have $ prefix field names: $a"
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 参考
|
||||
|
||||
- MongoDB 官方文档(主要参考资料,以官方文档为准):<https://www.mongodb.com/docs/manual/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user