Я использую pouchDb в электронном приложении. Данные были сохранены в базе данных postgres, прежде чем перейти к pouchDb. В некоторых случаях было не сложно понять, как структурировать данные в документе.Каков наиболее эффективный способ чтения отношений из базы данных pouchdb
Моя основная забота касается отношений. Например:
У меня есть тип данных Проекты и проекты имеют много событий. Прямо сейчас у меня есть поле под названием project_id для каждого события. Поэтому, когда я хочу, чтобы получить события для проекта с ID «Проект/1» Я сделаю
_db.allDocs({
include_docs: true,
startkey: 'event',
endkey: 'event\uffff'
}).then(function(response){
filtered = _.filter(response['rows'], function(row){
return row['doc']['project_id'] == 'project/1'
});
result = filtered.map(function(row){
return row['doc']
})
});
Я читал, что allDocs
является наиболее производительным API, но, имея ли вид более удобным на Это дело?
С другой стороны, когда я показываю список со всеми проектами, каждый проект должен показывать количество событий, которые он имеет. По этому сценарию, похоже, мне придется снова запустить allDocs, с include_docs: false
, чтобы подсчитать количество событий, которые имеет проект.
Имеет ли вид зрения улучшает эту ситуацию?
С другой стороны, я думаю о наличии массива со всеми идентификаторами событий в документе Project, поэтому я могу легко подсчитать, сколько событий оно имеет. В этом случае следует использовать allDocs? Есть ли способ передать массив Ids для allDocs? Или было бы лучше использовать цикл над этим массивом и вызвать get (id) для каждого id?
Является ли это другим способом более совершенным, чем первый?
Спасибо!