如何使用JavaSpring在MongoDB中检查特定字段是否具有特定值?

如何使用JavaSpring在MongoDB中检查特定字段是否具有特定值?,java,spring,database,mongodb,Java,Spring,Database,Mongodb,这是我的结构。假设我的收藏中有一堆这样的东西。我想搜索字段twitterId的值。在本例中,假设我想检查我的twitterId字段中是否存在102030值?如何在JavaSpring中构建此查询 { "_id" : ObjectId("5f4edc8f0edc9e79dcd58cb4"), "twitterId" : "102030", "fullName" : "Elon Mus

这是我的结构。假设我的收藏中有一堆这样的东西。我想搜索字段
twitterId
的值。在本例中,假设我想检查我的
twitterId
字段中是否存在
102030
值?如何在JavaSpring中构建此查询

{ 
"_id" : ObjectId("5f4edc8f0edc9e79dcd58cb4"), 
"twitterId" : "102030", 
"fullName" : "Elon Musk", 
"followers" : [ ], 
"_class" : "xxxx.yyyyy.model.User" 
}

您将需要一个执行搜索的存储库。创建如下内容:

@Repository("user")
public interface UserRepository extends MongoRepository<User, String> {
    
    public Optional<User> findOneByTwitterId(String twitterId);

}
@存储库(“用户”)
公共接口UserRepository扩展了MongoRepository{
公共可选findOneByTwitterId(字符串twitterId);
}
然后,您可以检查选项中是否有值


当然,还有很多其他的解决方案。您还可以编写一个查询来计算有多少用户拥有此twitter id,您将需要一个进行搜索的存储库。创建如下内容:

@Repository("user")
public interface UserRepository extends MongoRepository<User, String> {
    
    public Optional<User> findOneByTwitterId(String twitterId);

}
@存储库(“用户”)
公共接口UserRepository扩展了MongoRepository{
公共可选findOneByTwitterId(字符串twitterId);
}
然后,您可以检查选项中是否有值


当然,还有很多其他的解决方案。您还可以编写一个查询来计算有多少用户拥有此twitter id

您可以使用Spring Data MongoDB编写一个查询。一种方法是使用
MongoTemplate#exists
方法进行查询。一种方法是使用
MongoTemplate#exists
方法进行查询。仅供参考:由于您扩展了MongorePostry,因此不需要使用
@repository
,并且
\u id
的类型是
ObjectId
。所以,我认为这是一个假设。而且不需要使用findOneBy。。。。只需使用existsByTwitterId(String twitterId)FYI:由于您扩展了MongorePostry,因此不需要使用
@repository
,并且
\u id
的类型是
ObjectId
。所以,我认为这是一个假设。而且不需要使用findOneBy。。。。只需使用existsByTwitterId(String twitterId)