- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们可以在 cosmos Db 中添加 XML Schema 吗?如果是,我们如何查询它们?我可以将 XML 数据保存为字符串,但如何查询它们?
下面是我收藏的文档:
{
"id": "4796300e-b1d3-4c60-abc3-9ac28fc87d45",
"BId": "55ce95c2-b7f6-4c9b-a288-2363881f14bb",
"SheetName": "<root><Tax_Type>tax</Tax_Type><Buildings_Limit /><Buildings_Value /><Contents_Limit /><Contents_Value /><Number_of_Stories /><Other_Limit /><Other_Value /><PremiumValue /><Roof_Geometry /><IsSoft_Story /><Sprinklers /><Tax>0</Tax><Tax_Percent>0</Tax_Percent><Year_Built /><Construction_Scheme /><Construction_Code /><Construction_Description /><Occupancy_Scheme /><Occupancy_Code /><Occupancy_Description /></root>",
"HeaderIndex": "1",
"_rid": "xxxxxxx",
"_self": "dbs/xxx==/colls/xxx=/docs/xxx==/",
"_etag": "\"xxxxx\"",
"_attachments": "attachments/",
"_ts": 1509170527
}
最佳答案
Cosmos DB(显然有 superseded Document DB)开发团队故意选择不支持 XML。他们的Schema-Agnostic Indexing Whitepaper阐明了选择背后的原因:
The schema of a document describes the structure and the type system of the document independent of the document instance.For example, the XML Schema specification provides the language for representing schemas for XML documents. Unlike XML, no such widely adopted schema standard exists for JSON. In contrast to XML, JSON’s type system is a strict subset of the type systems of many modern programming languages, most notably JavaScript. The simplicity of the JSON grammar is one the reasons for its ubiquitous adoption despite the lack of a schema specification. With a goal to eliminate the impedance mismatch between the database and the application programming models, DocumentDB exploits the simplicity of JSON and its lack of a schema specification. It makes no assumptions about the documents and allows documents within a DocumentDB collection to vary in schema, in addition to the instance specific values. In contrast to other document databases, DocumentDB’s database engine operates directly at the level of JSON grammar, remaining agnostic to the concept of a document schema
然后引擎为您提供了一堆 API 来查询您的数据:SQL , Cassandra , Mongo , Gremlin , Table和 Etcd (该列表将来可能会扩大)。
坏消息是您不能只是将 XML 放入其中并收工 - 没有 API 可以让您做到这一点。
好消息是您可以将 XML 转换为 JSON 并返回。一旦你得到你的 JSON,就有 heaps of client libraries可供选择(同样,该列表可能会随着时间的推移而增长)。
查找具体示例如何在 StackOverflow 上将 XML 转换为 JSON 很简单,例如:
回到您的特定文档,您可以将字符串转换为子对象,如下所示:
{
"id": "4796300e-b1d3-4c60-abc3-9ac28fc87d45",
"BId": "55ce95c2-b7f6-4c9b-a288-2363881f14bb",
"SheetName": {
"Tax_Type": "tax",
"Buildings_Limit": {},
"Buildings_Value": {},
"Contents_Limit": {},
"Contents_Value": {},
"Number_of_Stories": {},
"Other_Limit": {},
"Other_Value": {},
"PremiumValue": {},
"Roof_Geometry": {},
"IsSoft_Story": {},
"Sprinklers": {},
"Tax": "0",
"Tax_Percent": "0",
"Year_Built": {},
"Construction_Scheme": {},
"Construction_Code": {},
"Construction_Description": {},
"Occupancy_Scheme": {},
"Occupancy_Code": {},
"Occupancy_Description": {}
},
"HeaderIndex": "1",
"_rid": "xxxxxxx",
"_self": "dbs/xxx==/colls/xxx=/docs/xxx==/",
"_etag": "\"xxxxx\"",
"_attachments": "attachments/",
"_ts": 1509170527
}
关于azure-cosmosdb - cosmosdb 的 XML 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46987016/
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
我在我的 CosmosDB 集合中创建了一个简单的 Pre Trigger。 function testTrigger() { var context = getContext();
我正在尝试扁平化和过滤 CosmosDB 中的 json 数据。 数据如下所示,我想展平数组变量中的所有内容,然后按数组内的特定 _id 和时间戳进行过滤: { "_id": 21032, "Firs
我正在测试 CosmosDb。我发现初始连接通常需要很多秒。我编写了一个小型 .net core 2.2 控制台应用程序来演示该问题。 static async System.Threading
我正在测试 CosmosDb。我发现初始连接通常需要很多秒。我编写了一个小型 .net core 2.2 控制台应用程序来演示该问题。 static async System.Threading
我有很多(大约 100 条)数据要与 CosmosDB 中的文档相关联。每条数据都很小(大约 100 个字节)。 我的第一个解决方案是将数据作为数组存储在文档中。这可以正常工作,但是为了将新项目附加到
据我所知,团队的官方建议是将所有数据类型放入单个集合中,例如 type=someType文档上的字段以区分类型。 现在,如果我们假设具有分区的大型数据库,其中不同的对象类型可以是: 完全不同的字段(因
这是我们要存储的示例文档: { "name": "Joe Bloggs", "locations": [ { "type": "Point", "coordinates": [1,1] }, { "t
是否可以获得的大小?每 Cosmos DB 集合中的分区?我知道门户会在 Metrics Blade 中显示集合中的前几个分区,但我对查看每个分区的大小很感兴趣。 最佳答案 我相信您应该能够通过 Co
我试图在 Cosmos 中拥有多个文档,一旦提交,其中一个将保存提交表单中的一些数据。我正在尝试使用其他一些文档来保存下拉选择列表的数据。我如何能够连接到多个 config.containerId 以
我想做一个这样的查询 g.V().match( as('foo').hasLabel('bar'), as('foo').out('baz').hasId('123'), as('foo'
我正在尝试使用以下查询来查看数据库中是否有重复项 SELECT c.VariantNo, count(1) AS jongel FROM c where c.brand = 'XXXX' AND c.
我有一个包含许多字段的大型文档,我只想从对象返回 1-2 个字段以保持吞吐量。这在 cosmosDB 中可能吗?还是我每次都需要返回整个对象? 最佳答案 使用 ReadItemAsync() 进行点读
我有一个 CosmosDB 查询: SELECT food.tags FROM food 返回这个: { "tags": [ { "name": "babyfood"
想象一下我们有一个这样的集合(示例取自 https://www.documentdb.com/sql/demo ) { "_id" : "19015", "description" :
我正在使用 MongoDB api 访问 Azure 上的 CosmosDb。我收集了数千份文件。 它们的形状是这样的: { "_id" : ObjectId("5b4f574ac2100c8
我正在尝试在 CosmosDB 中实现以下查询: SELECT * FROM c WHERE c.timestamp = (SELECT VALUE MAX(c.timestamp) FROM c )
我们可以在 cosmos Db 中添加 XML Schema 吗?如果是,我们如何查询它们?我可以将 XML 数据保存为字符串,但如何查询它们? 下面是我收藏的文档: { "id":
我研究了几个地方,但找不到有关将旧数据从 cosmosdb 存档到冷存储的选项的任何方向。我看到 AWS 中的 DynamoDb 提到您可以将 dynamodb 数据移动到 S3 中。但不确定 cos
取自:https://learn.microsoft.com/en-us/azure/cosmos-db/create-graph-dotnet 我在 .wait() 部分遇到异常: NullR
我是一名优秀的程序员,十分优秀!