我无法使用$where
中的SpringDataMongoDb
。
SpringBoot
中有什么方法可以实现?
db.getCollection('my_collection').find({ $where : function(){
for (var key in this.action_status){
return this.action_status[key] == false;
}
}})
谢谢。
有两种实现方式,一种是在春季启动应用程序中使用MongoTemplate和条件查询
Query query = new Query();
query.addCriteria(Criteria.where("action_status").eq(false));
List<User> users = mongoTemplate.find(query,MyCollectionClassName.class);
另一种方法是使用mongo仓库
@Query("SELECT mc FROM my_collection mc WHERE mc.status = false")
MyCollectionClassName findMyCollectionClassNameByStatus(Integer status);
参考:
https://www.baeldung.com/queries-in-spring-data-mongodb
https://www.baeldung.com/spring-data-jpa-query