java - API 将数据保存在错误的 MongoDB 集合中
问题描述
嗨,我正在按照本指南创建 API。我有与本指南中类似的代码。现在我正在尝试在同一个项目中创建另一个 API,并将数据存储在单独的集合中。但是每当我进行任何 API 调用时,它总是使用相同的数据库。我无法弄清楚数据库位置的配置位置。能否请我帮忙找出在哪里可以配置数据库连接到我的 Java 程序?这是我的代码。
@CrossOrigin(origins = "http://localhost:4200")
@RestController
@RequestMapping("/api/v1")
public class TicketController {
@Autowired
private TicketRepository ticketRepository;
@Autowired
private TicketGeneratorService ticketGeneratorService;
@GetMapping("/tickets")
@ApiOperation(value = "Retrieves all Tickets in the database")
public List<Ticket> getAllTickets() {
return ticketRepository.findAll();
}
@PostMapping("/tickets/create")
@ApiOperation(value = "Adds a Ticket to the database")
public Ticket createTicket(@Valid @RequestBody Ticket ticket) {
ticket.setId(ticketGeneratorService.generateSequence(Ticket.SEQUENCE_NAME));
return ticketRepository.save(ticket);
}
}
这是我的 application.properties 文件
这是我的 application.properties 文件下的代码。我不明白这怎么可能是不正确的。employeeDatabase 是我正在使用的数据库,在其中我试图使用两个不同的集合。我创建和检索的所有数据仅来自其中一个集合。我怎样才能访问其他集合?
# MONGODB (MongoProperties)
spring.data.mongodb.uri=mongodb://localhost:27017/employeeDatabase
employeeDatabase 是包含我正在使用的集合的数据库。
解决方案
检查您application.properties
的数据库名称,您可能忘记更改第一个 API 的名称。
如果您希望项目中有多个 mongoDB,请查看此答案以获取指导。
如果您只使用一个数据库,但文档被写入第一个 API 的同一个集合,那么您很可能没有更改第二个 API 中的模型类。
为新集合创建新模型:
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "collection_name")
public class CollectionName { ... }
现在使用此模型写入数据库。
推荐阅读
- c# - 尝试将图像(按城市分类)从本地数据库加载到 flowLayoutPanel
- matlab - Matlab 在 x 轴上绘制特定点
- python - 如何使用 Discord.py 对特定用户进行 dm?
- r - 在 R 中为调查评分(循环)
- excel - 在 Excel CSV 中增加行。达到 1,048,576 行数据后的文件
- swiftui - 在 Swift UI/Xcode 中创建导航链接错误
- flutter - 迁移到空安全颤振后函数调用不起作用
- ti-basic - 从集合中获取第 n 个元素
- python - TypeError:'list'对象不可调用python
- java - 我正在尝试使用 STOMP 将数据从浏览器发送到 Android 移动应用程序,并且遇到 IP 地址问题