首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在ArangoDB中过滤两个子属性的简明方法(AQL / Spring Data ArangoDB)

在ArangoDB中,您可以使用AQL(ArangoDB查询语言)或Spring Data ArangoDB来过滤具有两个子属性的文档

  1. 使用AQL:

假设您有一个名为users的集合,其中包含具有firstNamelastName子属性的文档。您可以使用以下AQL查询来过滤这些属性:

代码语言:javascript
复制
FOR user IN users
    FILTER user.firstName == 'John' AND user.lastName == 'Doe'
    RETURN user

这将返回所有名为John Doe的用户文档。

  1. 使用Spring Data ArangoDB:

首先,确保您的项目中已包含Spring Data ArangoDB依赖项。在Maven项目中,将以下依赖项添加到pom.xml文件中:

代码语言:javascript
复制
<dependency>
    <groupId>com.arangodb</groupId>
    <artifactId>spring-data-arangodb</artifactId>
    <version>3.2.3.RELEASE</version>
</dependency>

接下来,创建一个Spring Data ArangoDB存储库接口,该接口扩展ArangoRepository

代码语言:javascript
复制
import com.arangodb.springframework.repository.ArangoRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserRepository extends ArangoRepository<User, String> {
}

在此示例中,User是具有firstNamelastName属性的实体类。确保在实体类中使用@Document注解并指定集合名称:

代码语言:javascript
复制
import com.arangodb.springframework.annotation.Document;

@Document("users")
public class User {
    private String id;
    private String firstName;
    private String lastName;

    // 省略构造函数、getter和setter方法
}

现在,您可以在服务类中使用UserRepository来过滤具有特定firstNamelastName属性的用户:

代码语言:javascript
复制
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public List<User> findUsersWithFirstNameAndLastName(String firstName, String lastName) {
        return userRepository.findByFirstNameAndLastName(firstName, lastName);
    }
}

在上面的示例中,findByFirstNameAndLastName方法是由Spring Data ArangoDB自动生成的,前提是您在UserRepository接口中正确指定了方法名称。

现在您可以根据需要调用findUsersWithFirstNameAndLastName方法来过滤具有特定firstNamelastName属性的用户。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券