Issue
I have an application that I am working on, I have it connecting to my mongoDB database and everything, but doing either a findAll or findById method always returns an empty brackets {}
I think its "working" because I have a total of 5731 records in my mongodb database, and when doing a "findAll()" it returns 5731 open brackets.
I did some research and found some similar posts but most said to make cure my collection is correct (which it is).
here is my custom variable class "stockIncome.java"
@Document(collection = "IncomeStatement")
public class stockIncome {
@Id
String id;
spring.data.mongodb.uri=mongodb+srv://XXX_XXX_XXX(Hiding my username/password/hostname)?retryWrites=true&w=majority
my controller file
@RestController
public class stockController {
public StockRepository stockRepository;
public stockController(StockRepository stockRepository) {
this.stockRepository = stockRepository;
}
@GetMapping("/all")
public List<stockIncome> findStocks(){
return stockRepository.findAll();
}
@GetMapping("/stocks/{id}")
public Optional<stockIncome> findStock(@PathVariable final String id){
return stockRepository.findById(id);
}
}
and my repository
public interface StockRepository extends MongoRepository<stockIncome, String> {
}
any ideas to help me debug this?
Solution
Fixed!
the solution was to add public to the id in my variable constructor.
changed
string id
to
public string id
and now its no longer empty!
Answered By - JohnT
Answer Checked By - Marie Seifert (JavaFixing Admin)