IBM Cloudant NoSql: создайте переменную QueryBuilder для «полей» - PullRequest
0 голосов
/ 02 июня 2018

Для IBM Cloudant NoSql в java я могу создать QueryBuilder следующим образом:

        QueryBuilder queryBuilder = new QueryBuilder(and(
                gt("Movie_year", 1960),
                eq("Person_name", "Alec Guinness"))).
                sort(Sort.desc("Movie_year")).
                fields("Movie_name", "Movie_year").
                limit(10);

Вместо того, чтобы жестко кодировать поля, я хочу, чтобы они были переменными.Я управляю всеми переменными, кроме «полей».

        // variables
        selector = and(
                gt("Movie_year", 1960),
                eq("Person_name", "Alec Guinness"));
        Sort sort = Sort.desc("Movie_year");
        int limit = 10;
        int skip = 0;
        // create query Builder 
        queryBuilder = new QueryBuilder(
                selector).
                sort(sort).
                fields("Movie_name", "Movie_year").
                limit(limit).
                skip(skip);

Как мне сделать «поля» переменной?

1 Ответ

0 голосов
/ 02 июня 2018

Нашел ответ здесь: https://github.com/cloudant/java-cloudant/blob/master/cloudant-client/src/main/java/com/cloudant/client/api/query/QueryBuilder.java

Код сейчас:

    // variables
    selector = and(
            gt("Movie_year", 1960),
            eq("Person_name", "Alec Guinness"));
    Sort sort = Sort.desc("Movie_year");
    String[] field = {"Movie_name", "Movie_year"};
    int limit = 10;
    int skip = 0;
    // create query Builder 
    queryBuilder = new QueryBuilder(
            selector).
            sort(sort).
            fields(field).
            limit(limit).
            skip(skip);
...