Драйвер Golang ArangoDB Запросы документов с переменными связывания не работают

Я пытаюсь отладить проблему с помощью драйвера Golang ArangoDB (Go версии go1.13.6 darwin / amd64, ArangoDB версии 3.6 и драйвераgolang github.com/arangodb/go-driver v0.0.0-20200107125107-2a2392e62f69). Приведенный ниже код возвращает 0 результатов; даже если один и тот же запрос имеет 2 результата, т.е. bindVars пуст (проверяется выполнением того же запроса через портал). Что здесь не так?

func (s *Service) searchProduct(offset int, count int) (interface{},int64, error){
    //FOR doc IN explore SORT BM25(doc) DESC LIMIT 0,10 RETURN doc
    queryBuilder := query.NewForQuery(exploreViewName, "doc")
    qs := queryBuilder.SortBM25(true).
        LIMIT(offset, count).
        Return().String()
    s.logFactory.Fields().Done().Info(qs)

    pCtx := context.Background()
    ctx := arangodbdriver.WithQueryCount(pCtx)

    // Open database
    db, err := s.dbClient.Database(ctx, databaseName)
    if err != nil {
        return nil, 0, errors.New(err, fmt.Sprintf("failed to open %s database", databaseName))
    }

    bindVars := map[string]interface{}{}

    cursor, err := db.Query(ctx, qs, bindVars)
    if err != nil {
        return nil, 0, errors.New(err, fmt.Sprintf("failed to query [%s] on %s database", qs, databaseName))
    }

    defer cursor.Close()
    return bindVars, cursor.Count(),nil
}

Кроме того, есть возможность использовать структурой для привязки результата вместо bindVars := map[string]interface{}{}

Ссылка: https://www.arangodb.com/docs/stable/drivers/go-example-requests.html

Примечание 1. Документы в ArangoDB содержат вложенные поля.

0 ответов

Другие вопросы по тегам