- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在试验 CosmosDb 并希望使用 Gremlin API 进行顶点和边缘查询。我有许多实体之间会有多个边缘连接,例如“知道”、“信任”、“喜欢”等
然而,我确实希望将复杂的文档作为顶点,因此我没有使用具有许多属性的文本查询的 gremlin 语法(这看起来很麻烦),而是使用 documentDB API 插入了文档。问题是一旦添加了文档(它正确地返回查询并显示在 SQL 查询中),我就不能在没有错误的情况下进行任何 g.V() 调用:
System.InvalidCastException: Invalid cast from 'System.String' to 'Newtonsoft.Json.Linq.JObject'.
{
"id": "beea4756-2a25-4e2e-a7d9-457ad03dd56d",
"title": "Test item",
"description": "Test description",
"purchaseUrl": "http://www.test.co.uk",
"imageUrls": [
"http://www.test.com",
"http://www.test2.com"
],
"label": "item",
"created": "2017-10-09T12:41:49.0201322Z",
"modified": "2017-10-09T12:41:49.0203021Z",
"createdById": "TestUserId",
"modifiedById": "TestUserId",
"_rid": "jXNCAKbsIQABAAAAAAAAAA==",
"_self": "dbs/jXNCAA==/colls/jXNCAKbsIQA=/docs/jXNCAKbsIQABAAAAAAAAAA==/",
"_etag": "\"00000629-0000-0000-0000-59db6e8d0000\"",
"_attachments": "attachments/",
"_ts": 1507552909
}
System.InvalidCastException: Invalid cast from 'System.String' to 'Newtonsoft.Json.Linq.JObject'.
at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
at Newtonsoft.Json.Linq.Extensions.Convert[T,U](T token)
at Newtonsoft.Json.Linq.Extensions.<Convert>d__14`2.MoveNext()
at Microsoft.Azure.Graphs.Runtime.VertexPropertyField.Replace(JProperty jproperty)
at Microsoft.Azure.Graphs.Runtime.VertexField..ctor(GraphCommand graphCommand, JObject vertexObject)
at Microsoft.Azure.Graphs.Common.VertexObjectCache.AddOrUpdateVertexField(VertexCompositeKey vertexKey, JObject vertexObject)
at Microsoft.Azure.Graphs.Runtime.DocumentDBRuntime.<GetVertices>d__1.MoveNext()
at Microsoft.Azure.Graphs.Runtime.Operators.FetchNodeOperator.<ComputeNextRecordAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.Runtime.Operators.GraphExecutionOperator.<NextAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.Runtime.Operators.ProjectOperator.<ComputeNextRecordAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.Runtime.Operators.GraphExecutionOperator.<NextAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.GraphTraversal.GraphTraversalIterator.<CurrentOperatorNextAsync>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.GraphTraversal.GraphTraversalIterator.<MoveNextAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.GraphTraversal.<MoveNextAsync>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.GremlinDocumentQuery`1.<ExecuteNextAsync>d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Graphs.GremlinDocumentQuery`1.<ExecuteNextAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Documents.Portal.PlatformProxy.Graph.Controllers.GremlinQueriesController.<SubmitQueryAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Documents.Portal.PlatformProxy.Graph.Controllers.GremlinQueriesController.<Post>d__0.MoveNext()
最佳答案
可以在同一集合中混合和匹配 Graph 和 Document API。但是,它仅在您以图形文档预期的 GraphSON 格式插入顶点和边时才有效。如果您测试为边和顶点运行一些 gremlin 插入,然后使用文档 API 检查集合中文档的格式,您将看到预期的格式是什么样的。
在我的工作中,我们构建了一个自定义 ORM,它采用 C# POCO 来表示我们的顶点和边,并在使用 Document API 进行实际插入之前使用反射构建适当的结构。这样你就可以两全其美。
您在此处提到的另一种选择是拥有一个用于表示纯关系的集合和另一个用于存储实际文档的集合,这也可能是一个可行的解决方案,具体取决于您正在构建的应用程序的性质。进行额外的网络调用以填写实际文档以及错过 SPROC 等形式的交易肯定会影响性能。
关于azure-cosmosdb - 将 Documents 和 Graph 存储在同一个 DocumentDb 集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46647373/
AWS DocumentDB“与 MongoDB 兼容”意味着支持 3.6 和 4.0 版 API。我已经在3.6版本恢复数据并保存为快照。 我想知道 AWS 将支持 3.6 版本多长时间。如果万一
我有一个 ARM 模板,用于将 DocumentDB 以及其他 Azure 资源部署到资源组。我希望我的 ARM 模板设置一个使用 DocumentDB 作为输出的流分析作业。为此,ARM 模板创建的
我知道我们可以使用 Mongo shell 启用(或禁用)Amazon Document DB 的更改流。是否可以从 AWS 控制台或 MongoDB 驱动程序启用更改流? 最佳答案 您可以使用mod
我正在尝试查询包含 500M 文档 (1Tb) 的 documentDB。 var t1 = Date.now(); 'Total X Records:'; db.runCommand({aggreg
我在通过 TLS/SSL 使用纯 Java 连接我的 DocumentDB 集群时遇到问题 我按照 AWS docs 遵循的程序这是: 我下载了 .pem来自 AWS 的文件并复制到我的 java 项
我正在尝试使用新的 AWS DocumentDB 服务运行现有应用程序。我试图从 mongo shell 运行db.geojson.createIndex( { geoData : "2dsphere
我尝试使用 REST API 从 DocumentDB 获取文档。我正在使用分区集合,因此需要添加“x-ms-documentdb-partitionkey” header 。如果添加此内容,我会收到
我刚刚创建了一个新的 DocumentDB 实例。当我转到新 Azure 门户上的“ key ”区域时,我没有看到主键或辅助键。我的 URI 已列出。我尝试使用重新生成功能希望能够创建 key ,但没
我正在通过模拟器进行一些本地 DocumentDb 开发。我的 DocumentDb 模拟器已经使用了一两个月了。当我下载 DocumentDb 客户端的最新 Nuget 组件时,我无法连接到它并收到
DocumentDB 不支持“$lookup”运算符,DocumentDB 中 $lookup(MongoDB) 的任何其他替代方案。 这是 DocumentDB 支持的运算符列表。 https://
按照AWS文档,我们尝试使用以下命令列出所有更改流。我们在MongoDB Compass应用程序中提供的MongoSH中运行它。但我们收到一条错误消息:“ReferenceError:DBComman
我正在将具有以下结构的文档插入/更新插入到 DocumentDB 中: 使用默认索引时,更新插入此格式文档的请求费用为 10.67 RU。这似乎比我预期的要高,所以我正在寻求优化。 阅读本文中的性能提
我正在使用 Azure DocumentDB,并且我在 NoSql 中的所有经验都是在 MongoDb 中。我查看了定价模型,成本是按每个系列计算的。在 MongoDb 中,我会为我正在使用的内容创建
Azure 应用程序设置(适用于 azure 函数)有一个用于 DocumentDB 连接字符串的选项 有人知道如何填充/格式化它吗? 我目前使用: var documentDbEndpointUri
我们的数据存储在 documentdb 中。我们确实需要在一笔交易中执行涉及多个文档的操作。有没有办法在 documentDB 上执行类似 sqlserver 的事务? 最佳答案 如果您执行客户端操作
Microsoft Azure 文档 BadRequestException 使用针对未范围索引的路径的筛选器指定了无效查询。考虑在请求中添加允许扫描 header 。 我的查询是: SELECT c
我想弄清楚何时将 Mongodb 索引加载到内存中。假设我有 n 个集合,每个集合都有 m 个索引。那么mongodb启动的时候,会不会把所有n x m的索引都加载到内存中呢? 根据文档,他们提到如果
我最近意识到 DocumentDB 通过 ReplaceDocumentAsync 支持独立更新操作。 我已将下面的更新插入操作替换为替换操作。 var result = _client .U
这是 DocumentDB 上的一个新手问题。我们希望在我们的应用程序中使用 DocumentDB。我们有多个用户更改存储在 DocumentDB 中的数据。我们如何确保一个用户不会覆盖另一用户的更改
是否可以对所有分区集合执行存储过程。如果不是,我怎样才能在不往返的情况下存档? 提前致谢。 最佳答案 不,存储过程在单个分区中执行,并且执行存储过程时没有自动扇出。调用时需要指定分区键。 假设您的意思
我是一名优秀的程序员,十分优秀!