У меня возникают проблемы с передачей параметров на просмотр через модуль js couchbase узла. Основная проблема заключается в том, что я не знаю, какой вопрос задавать Google, чтобы получить ответ, который я ищу. Я хотел бы получить из представления конкретный объект, основанный на ключе, который я получаю от пользовательского интерфейса.Узел js couchbase запрос на вызов, сопоставляющийся с представлением couchbase
Например, у меня есть список магазинов с номерами магазинов 111, 222 и 333. Если пользователь дает мне номер магазина 222, я хотел бы только вернуть его, а не возвращать его, а затем фильтровать внутри моего js-кода узла.
код узла можно расслоение плотной выглядит следующим образом:
var query = ViewQuery.from('dev_store', 'store').key(storeNum);
myBucket.query(query, function (err, results) {...};
я получил, что из ViewQuery
апи смешивается с this question. Однако я не могу понять, как получить доступ к этому ключевому параметру, когда я нахожусь в представлении, чтобы отфильтровать мои результаты только в одном хранилище.
Я протестировал свой взгляд, и он отлично работает, пока я просто получаю список всех магазинов. Я читал о сокращениях, но я не видел, где они действительно написали/назвали.
Я пробовал получить доступ к нему, выполнив doc.key
или добавив ключ к функции просмотра, но я думаю, что мое ограниченное понимание структуры View причиняет мне боль здесь.
Вопрос: Учитывая ключ, как мне вернуть из представления только строку, относящуюся к этому ключу?
EDIT: Вот мое мнение:
function (doc, key, meta) {
doc.midLevel.forEach(function (reg) {
reg.midLowerLevel.forEach(function (dis) {
dis.lowestLevel.forEach(function (store) {
emit(store.store_nbr, null);
})
})
})
}
С этой точки зрения он излучает каждый магазин на самом низком уровне. Как видно из кода узла js, я передал ему ключ. Я хотел бы использовать этот ключ, чтобы создать условие того, что испускает.
Например, если есть номера с номерами 1-100, а узел js передает число 45, возможно ли мне получить доступ к «45» в представлении, чтобы создать это условие?
Что такое идентификатор объекта документа? если у вас есть что-то вроде store :: 222 как objectID для этого документа, тогда вы просто получите этот ключ. Нет необходимости в просмотре и намного быстрее. – Kirk
Таким образом, уровень хранилища будет на 3 уровня глубже, чем корневой объект документа.Технически примером objectID для документа будет алфавитная буква A-M. Итак, я ищу, чтобы иметь возможность испускать только определенный подиндекс документа, основанный на данном вводе. Я думаю, что это ответит на ваш вопрос, если не сообщит мне. – discodane
Извините, я читаю этот комментарий после отправки моего ответа. Каков ваш идентификатор документа? Почему вы храните произвольно глубокие объекты как отдельные документы, а не проецируете их на глубокие объекты на интерфейсе? У вас возникли проблемы с пониманием того, что можно дать в качестве ответа, основанного на вопросе. – theMayer