java-Cosmosdb保存的数据无法在门户中找到,但可以从azure-documentdb-spring-boot-starter中找到
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Cosmosdb保存的数据无法在门户中找到,但可以从azure-documentdb-spring-boot-starter中找到,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2811字,纯文字阅读大概需要5分钟。
内容图文
![java-Cosmosdb保存的数据无法在门户中找到,但可以从azure-documentdb-spring-boot-starter中找到](/upload/InfoBanner/zyjiaocheng/668/50261e0481a4458fb410cf7738f7ce7a.jpg)
我的项目使用azure-documentdb-spring-boot-starter:0.2.0与cosmosdb进行交互:
@Repository
public interface PingEasyRepo extends DocumentDbRepository<PingEasy, String> {
}
@Document(collection = "test")
public class PingEasy {
@Id
private String id;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
该代码运行,并且可以保存和findAll.但是,当我转到azure门户和cosmosdb数据浏览器时,数据没有出现.当我打开浏览器工具时,我看到失败的请求
“500 Internal Server Error: Object reference not set to an instance of an object.” and exceptions:
Uncaught TypeError: xhr.getResponseHeader is not a function
at Object.DocumentClientFactory._shouldForceRetry (DocumentClientFactory.js?v=1.17.110.1:12)
at HttpRequest.xhr.onreadystatechange (documentdbclient-1.14.0.js?v=1.17.110.1:3287)
at HttpRequest._onAjaxError (Request.js?v=1.17.110.1:42)
at i (jquery.min.js:2)
at Object.fireWith [as rejectWith] (jquery.min.js:2)
at y (jquery.min.js:4)
at XMLHttpRequest.c (jquery.min.js:4)
以下是我用于自动创建cosmodb的脚本:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"databaseAccountName": {
"type": "string",
"metadata": {
"description": "The MongoDB database account name. Needs to be globally unique."
}
}
},
"variables": {},
"resources": [
{
"apiVersion": "2015-04-08",
"type": "Microsoft.DocumentDB/databaseAccounts",
"kind": "MongoDB",
"name": "[parameters('databaseAccountName')]",
"location": "[resourceGroup().location]",
"properties": {
"databaseAccountOfferType": "Standard",
"name": "[parameters('databaseAccountName')]"
}
}
]
}
解决方法:
问题是,您要创建一个MongoDB帐户,并使用一个如您所链接的文章中所述的使用DocumentDB API写入数据的示例.
Microsoft’s Spring Boot Starter enables developers to use Spring Boot applications that easily integrate with Azure Cosmos DB by using DocumentDB APIs.
MongoDB帐户应与MongoDB客户端和应用程序一起使用,而不是与DocumentDB API客户端和应用程序一起使用.
主要区别在于MongoDB的必需标识符字段为“ _id”,而DocumentDB / SQL帐户的必需标识符为“ id”.当您通过MongoDB客户端(应用程序或使用其中一个MongoDB SDK的代码)将文档写入MongoDB帐户时,驱动程序/客户端将确保您的文档具有必填的“ _id”字段或自动生成一个.并且,当您使用DocumentDB API sdk / client和DocumentDB / SQL帐户时,sdk / client将自动生成所需的“ id”字段.
门户网站使用MongoDB客户端读取MongoDB帐户中的文档,但是由于它们不是有效的MongoDB文档(没有必需的标识符)而无法读取文档.如果您尝试使用自己编写的MongoDB应用程序读取文档,或者尝试使用Robomongo或Mongo Chef等MongoDB客户端读取文档,则会遇到相同的错误.
在您的情况下,如果要使用Spring Boot示例,则需要创建一个DocumentDB / SQL帐户.在本文的屏幕快照中,您可以看到如何创建一个SQL帐户.
希望这可以帮助.
内容总结
以上是互联网集市为您收集整理的java-Cosmosdb保存的数据无法在门户中找到,但可以从azure-documentdb-spring-boot-starter中找到全部内容,希望文章能够帮你解决java-Cosmosdb保存的数据无法在门户中找到,但可以从azure-documentdb-spring-boot-starter中找到所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。