创建Couchbase视图时出现多个查询错误

时间:2018-12-10 23:30:25

标签: couchbase couchbase-view spring-data-couchbase

我正在尝试在沙发上创建视图。以下是我的查询

import cv2
import numpy as np
import pyautogui
import time

#image recognition
def imagesearch(image, precision=0.8):
    im = pyautogui.screenshot()
    img_rgb = np.array(im)
    img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
    template = cv2.imread(image, 0)
    template.shape[::-1]

    res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
    if max_val < precision:
        return [-1,-1]
    return max_loc

#continuous image searching on screen
def imagesearch_loop(image, timesample, precision=0.8):
    pos = imagesearch(image, precision)
    while pos[0] == -1:
        print(image+" not found, waiting")
        time.sleep(timesample)
        pos = imagesearch(image, precision)
    return pos


try:
    while True:
        pos = imagesearch_loop("Bonus_Box.png", 0.5)
        while not (imagesearch_loop("Bonus_Box.png", 0.5)):
          print("Hello")
          #do things..., after everything finishes and no image found return to while
        print("image found ", "x:", pos[0], "y:", pos[1])
except KeyboardInterrupt:
    pass

但是,我遇到了以下异常:

function (doc, meta) {
  if (doc._class == "com.abc.xyz.Account" && doc.accountId) {
    emit(doc.accountId, null);
  }
}

不确定查询的问题是什么。尝试搜索解决方案,但找不到任何解决方案。

1 个答案:

答案 0 :(得分:2)

问题中提到的javascript函数似乎是Couchbase Map/Reduce View Engine的定义。可以使用SDK或REST API来查询这些内容,有关详细信息,请参见View Querying部分。此外,“地图/缩小视图” UI(定义地图/缩小功能的位置相同)在查询正在定义的视图方面功能有限。

Couchbase查询UI专用于N1QL / SQL ++查询。提到的功能可以很容易地在N1QL中表达:

CREATE INDEX ON mybucket(accountId) WHERE _class == "com.abc.xyz.Account";

因此,不必创建Couchbase Map / Reduce视图。并且可以查询上述索引,例如:

SELECT count(*) FROM mybucket WHERE _class == "com.abc.xyz.Account";

我确定您提到的上述功能只是一个示例,实际用例更为复杂,但是通用方法仍然适用。从声明性工具(N1QL)开始是一个好主意,因为它使用起来更简单。

有很多有用的资源,例如N1QL Tutorial,可以帮助您开始使用N1QL。这将是大多数用例的最佳起点。