MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

La recherche Spring Boot Mongodb par ID renvoie null

Regardez votre code.Vous avez déclaré _id comme type Long.

@Id
private long _id;

Mais dans vos méthodes ci-dessous, vous passez String id pour correspondre aux critères.

Donc ça ne marche pas.

@Override
        public Account findOne(String id) {
            Account account = dbOperations.getMongoOpertion().findOne(Query.query(Criteria.where("_id").is(id)),
                    Account.class, "account");
            return account;
        }

@Override
    public void delete(String id) {
        Query query = new Query();
        query.addCriteria(Criteria.where("id").is(id));
        Account account = dbOperations.getMongoOpertion().findOne(query, Account.class);
        dbOperations.getMongoOpertion().remove(account);

    }