代码之家  ›  专栏  ›  技术社区  ›  syd

检查repo中是否存在所有id

  •  -1
  • syd  · 技术社区  · 7 年前

    我可以使用以下查询检查我的回购中是否存在ID:

    exists(String id);
    

    但是,我可以使用什么查询来确定我的repo中是否存在列表的所有元素?像这样的?

    existAll(List<String> id);
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Shadov    7 年前

    使用内置方法,我只看到一个选项:使用 findAllById

    我建议你自己写一个方法,最好是对你的ID列表中的记录进行计数。我想应该是这样的,对Mongo不太熟悉:

    db.collection.count({ id: { $in: [ 1, 2, 3 ] } });

    您只需向存储库中添加一个方法,如下所示:

    public interface YourRepository extends MongoRepository<YourItem, String> {
        Long countByIdIn(List<String> ids);
    }