当前位置: 首页 > 知识库问答 >
问题:

从mongodb服务器检索数据时面临错误

鲍鸿波
2023-03-14

服务器成功启动并接受数据,但当我检索数据时,却出现以下错误:

O.a.c.c.[.[/].[dispatcherServlet]:路径为[]的上下文
中servlet[dispatcherServlet]的servlet.Service()引发异常[请求处理失败;嵌套异常为
org.springframework.data.MongoDb.UncategorizedMongoDbException:查询失败,错误代码为2,错误
消息“field”locale“在服务器localhost:27017上的{locale:”tax“}”中无效;嵌套异常为
com.mongoDb.MongoQueryException:查询失败,

com.mongodb.mongoqueryexception:查询失败,错误代码为2,错误消息“field”locale“是
在服务器localhost:27017上的{locale:”tax“}”中无效

null

tax.java

package net.example.TaxEngine.Model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collation = "Tax")
public class Tax {

    @Id
    private String Name;

    public String getName() {
        return Name;
    }
    
    

    public void setName(String name) {
        this.Name = name;
    }
}

taxrepo.java

    package net.example.TaxEngine.Repository;
    import org.springframework.data.mongodb.repository.MongoRepository;
    import net.example.TaxEngine.Model.Tax;

    public interface TaxRepo extends MongoRepository<Tax, String> {
         public Tax findByname(String Name);
    }

TaxController.java

   package net.example.TaxEngine.Resources;

   import java.util.List;

   import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.web.bind.annotation.GetMapping;
   import org.springframework.web.bind.annotation.PathVariable;
   import org.springframework.web.bind.annotation.PostMapping;
   import org.springframework.web.bind.annotation.RequestBody;
   // import org.springframework.web.bind.annotation.RequestParam;
   import org.springframework.web.bind.annotation.RestController;
   import net.example.TaxEngine.Model.Tax;
   import net.example.TaxEngine.Repository.TaxRepo;

   @RestController
   public class TaxController {
    
     @Autowired
    private TaxRepo Repo;
    
     @PostMapping("/addName")
     public String SaveName(@RequestBody Tax name) {
        Repo.save(name);
        
        return "Added Name:" +name.getName();
     }
    
     @GetMapping("/AllNames")
     public List<Tax> getTaxs(){
        return Repo.findAll();
     }
    
     @GetMapping("/message/[name]")
     public String getTax(@PathVariable String name) {
         return "Hello:" +Repo.findById(name);
     }
}

TaxEngineApplication.java

package net.example.TaxEngine;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class TaxEngineApplication {
    public static void main(String[] args) {
        SpringApplication.run(TaxEngineApplication.class, args);
     }
}

应用程序属性:

 spring.data.mongodb.uri=mongodb://localhost:27017/test

共有1个答案

朱鹤轩
2023-03-14

您的代码中有一个小错误:

@Document(collation = "Tax")
public class Tax {

您使用的是排序规则,您应该使用集合来引用Mongo DB中的数据结构。

@Document(collection = "Tax")
public class Tax {

要阅读有关校对的内容,请查看mongo官方文档

 类似资料:
  • 我试图通过json从在线数据库(MySql)获取数据,并希望将其显示为ListView。到目前为止我所做的: Downloader.java } 美娜ctivity.java 当我运行应用程序时,应用程序。。在Downloader.java类的第35行,我收到一条toast消息,上面写着“无法下载数据”。所以我猜我从数据库中得到的数据是空的…但为什么是空的。。。。 $con=mysqli_conn

  • 我是微服务架构的新手,我正在尝试使用两个 Spring 启动微服务构建一个简单的项目,eureka 作为服务发现和 Spring 云用于 API 网关。UserService和OrderService连接到不同的MySQL模式,我的问题是,如何通过客户端调用rest方法并传递用户ID来从orders_table检索数据?我有一个仪表板,我必须在其中显示登录用户下的所有订单。 客户端项目是一个Spr

  • 在我的mongodb数据库中有4个集合。我可以使用每个集合逐个检索数据。现在,如何使用findone、getAll这样的关键字从同一代码中的不同集合中检索数据?我的模特。js如下所示。分贝- 模型1。js 模式2。js

  • 在启动weblogic server之前,我想删除weblogic创建的临时目录,我在管理服务器中看到以下目录: 路径:user\u projects/domains/my\u domain/servers/AdminServer 下面是我的托管服务器: 路径:user\u projects/domains/my\u domain/servers/MyManagedServer 我已经在我的Lin

  • 我正在尝试使用phonegap构建ios应用程序 我希望来自远程服务器的数据显示在phonegap中。在我的服务器上我有php/mysql,在客户端我有phonegap和在jquery mobile中开发应用程序。 我知道我需要使用jsonp,但我有问题。 在服务器端,我开发了非常简单的应用程序。 我有两个php页面。 第一个php页面列表。php,显示导航列表(主页、关于我们、画廊)。第二个ph

  • 我正试图从ftp服务器检索一个文件,但我得到如下错误。请你帮帮我好吗 导入java.io.BufferedOutputStream; 导入java.io.file; 导入java.io.FileOutputStream; 导入java.io.IOException; 导入java.io.InputStream; 导入java.io.OutputStream; 导入java.text.DateFor