Mongo API projection in Cosmos Request unit charge 的影响

Impact of Mongo API projecion in Cosmos Request unit charge

我可以从 Microsoft 文档中了解到,根据文档,RU 因文档大小而受到影响。它是存储文档的大小还是检索到的文档的大小。我有一个在嵌套级别下包含很多条目的文档。如果我只检索级别 1 的 属性 会减少 RU 吗?

例如文档如下所示。考虑关联级别有超过 15000 个条目

{
"name": "hi",
"data":"demo",
"associations": [
{
"name": "assoc1"
},
{
"name": "assoc2"
},
{
"name": "assoc3"
},
{
"name": "assoc4"
},
{
"name": "assoc5"
}
]
}

考虑到文档大小为 500KB,这两个 mongo 查询的 RU 会有所不同吗?

Query without projection:

db.getCollection("demo").find({"name":"hi"})

Query with projection:
db.getCollection("demo").find( {"name":"hi"} , {"data":true} )

我注意到这两个查询之间的 RU 发生了变化。但是我在搜索的文档中没有看到这个。

如果查询引擎需要遍历大型文档来投影结果,那么它会比不使用时消耗更多 RU/s。

我认为更大的问题是包含超过 15K 项的文档。无界或超大数​​组通常不是 Cosmos DB 的好模式,尤其是当它们具有非对称更新模式时,因为更新将替换整个文档。