禁用 Cosmos DB 的模式验证?
Disable Schema Validation for Cosmos DB?
我在 Azure 中使用 Cosmos DB。我最近更改了架构以添加更多信息。但是,我很困惑,因为 Cosmos 使用 SQL 来查询数据库。此外,我似乎无法基于新架构进行查询,因为我收到以下错误消息:
Message: {"errors":[{"severity":"Error","location":{"start":22,"end":29},"code":"SC2001","message":"Identifier 'comment' could not be resolved."}]}
所以我想知道是否可以禁用模式验证,这样我就可以查询新的 comment
属性,而不会收到此错误消息。
此外,我很困惑,如果 Cosmos DB 的行为与 MySQL.
非常相似,那么它怎么会被认为是一个 NoSQL 数据库?
编辑:我使用的查询是
SELECT * FROM c
WHERE comment = ""
错误与模式无关,错误是说您的查询写错了。
按照官方文档(例如https://docs.microsoft.com/azure/cosmos-db/sql/sql-query-getting-started#query-the-json-items)
查询应该是:
SELECT * FROM c
WHERE c.comment = ""
请记住,该查询不会检查没有 comment
属性 的文档,它基本上是过滤具有 comment
属性 的文档带有空字符串值。
我在 Azure 中使用 Cosmos DB。我最近更改了架构以添加更多信息。但是,我很困惑,因为 Cosmos 使用 SQL 来查询数据库。此外,我似乎无法基于新架构进行查询,因为我收到以下错误消息:
Message: {"errors":[{"severity":"Error","location":{"start":22,"end":29},"code":"SC2001","message":"Identifier 'comment' could not be resolved."}]}
所以我想知道是否可以禁用模式验证,这样我就可以查询新的 comment
属性,而不会收到此错误消息。
此外,我很困惑,如果 Cosmos DB 的行为与 MySQL.
非常相似,那么它怎么会被认为是一个 NoSQL 数据库?编辑:我使用的查询是
SELECT * FROM c
WHERE comment = ""
错误与模式无关,错误是说您的查询写错了。
按照官方文档(例如https://docs.microsoft.com/azure/cosmos-db/sql/sql-query-getting-started#query-the-json-items)
查询应该是:
SELECT * FROM c
WHERE c.comment = ""
请记住,该查询不会检查没有 comment
属性 的文档,它基本上是过滤具有 comment
属性 的文档带有空字符串值。