防止 CosmosDB 文档中的数组换行符
Prevent array linebreaks in CosmosDB documents
我想在 CosmosDB 文档中存储一个包含 366 个整数值的数组。
但是,它在每个元素之间使用换行符和制表符存储数据,如下所示:
[
0,
0,
...
]
有没有办法像下面这样存储它?
[0,0,...]
我想知道,因为根据我的计算,第一个示例占用 6kb 的存储空间,而后者占用不到 1kb。
或者我对它的实际存储方式的想法是错误的,也许它的存储没有换行符和制表符?我的意思是也许它只是在文档查看器用户界面中我可以看到换行符和制表符?
我认为您指的是用这个额外的空格编写“缩进”JSON 以提高可读性。 Cosmos DB 不太可能为了效率而在内部存储这些无关的内容(我不确定),但它可以通过应用于序列化过程(将数据转换为 JSON)的设置来控制。
至少在 .NET 中,默认情况下 JSON.NET or System.Text.Json 都不会缩进 JSON 输出,因此除非您启用了该选项,否则不会这样存储。
可以肯定的是,您可以检查从测试查询返回的 query metrics 的 Retrieved Document Size
值。
当你提到带换行符的结果格式时,我想你是从 Azure Cosmos DB Explorer 解析中检查它并以可读的方式格式化 JSON 结果,以便更容易分析。
数据存储时不带换行符,它是以可读格式为您表示的软件。
我想在 CosmosDB 文档中存储一个包含 366 个整数值的数组。
但是,它在每个元素之间使用换行符和制表符存储数据,如下所示:
[
0,
0,
...
]
有没有办法像下面这样存储它?
[0,0,...]
我想知道,因为根据我的计算,第一个示例占用 6kb 的存储空间,而后者占用不到 1kb。
或者我对它的实际存储方式的想法是错误的,也许它的存储没有换行符和制表符?我的意思是也许它只是在文档查看器用户界面中我可以看到换行符和制表符?
我认为您指的是用这个额外的空格编写“缩进”JSON 以提高可读性。 Cosmos DB 不太可能为了效率而在内部存储这些无关的内容(我不确定),但它可以通过应用于序列化过程(将数据转换为 JSON)的设置来控制。
至少在 .NET 中,默认情况下 JSON.NET or System.Text.Json 都不会缩进 JSON 输出,因此除非您启用了该选项,否则不会这样存储。
可以肯定的是,您可以检查从测试查询返回的 query metrics 的 Retrieved Document Size
值。
当你提到带换行符的结果格式时,我想你是从 Azure Cosmos DB Explorer 解析中检查它并以可读的方式格式化 JSON 结果,以便更容易分析。
数据存储时不带换行符,它是以可读格式为您表示的软件。