I know a view cannot be fetched "since" it's just the idea.
Filter over _changes is very very slow.

Your suggestion "2" is interesting, how would you fetch this view to
precise the timestamp (wich query parameters)?
Are startKey and endKey a "Filter" system over the view result?

2016-09-15 12:10 GMT+02:00 Giovanni P <fiat...@gmail.com>:

> I don't understand how documents in a view should be fetched "since" some
> sequence, do you mean "last changed documents that appear in this view"?
>
> Two stupid suggestions just to get the explanations:
>
> 1. fetch _changes with a filter function filtering for type0 documents
> 2. in the view map function rely on timestamps and emit keys like [type0,
> timestamp], then fetch since the last timestsmp
> 3. instead of timestamps, use sequences: generate the sequence number at
> the time you're saving the document, save it as a field of the document,
> then emit it in the view: [type0, seq]
> On 15 Sep 2016 6:58 am, "max" <maxima...@gmail.com> wrote:
>
> > No one ?
> >
> >
> >
> > 2016-09-09 17:48 GMT+02:00 max <maxima...@gmail.com>:
> >
> > > Hi,
> > >
> > > I'm looking for the best or at least a good way to fetch multiple
> > > documents because my databases are getting larger and larger. Thus, I'm
> > > trying to limit user waiting time, but in a multiple user environment.
> > >
> > > Each document got an "ancestorId" property to group it by type.
> > > When a user fetchs docments he called the view "byancestor" precising
> > > key="type0"&include_docs=true.
> > >
> > > By using this view, the entire database does not need to be downloaded
> > > when we want just one type of documents.
> > >
> > > Now I would like to use sequence number to limit bandwidth and time.
> That
> > > is to say last time user fetch type0 documents he precised
> > > "update_seq=true" and get the last sequence number.
> > > Then next time he will fetch type0 documents I want it to got changes
> > from
> > > this sequence number, thus the result of the request will not contain
> > > documents that was modified before this seq.
> > >
> > > It would have been cool to be able to send a "since" (such as _changes
> > > API) query parameter to the view to reduce it but of course it is not
> > > possible.
> > >
> > > Here is what I have tried:
> > >
> > > I.
> > > - make a first request to query the view WITHOUT include_docs to limit
> > > bandwidth
> > > - compute the documents id list that needs to be fetched
> > > - POST this list to "_all_docs" WITH include_docs to fetch documents
> > >
> > > This does the job, but the first query to the view will get larger and
> > > larger...
> > >
> > > II.
> > > - modidy my view in _design to emit   emit([doc.ancestorId,
> > > doc._local_seq]
> > > - query this view with parameters: ?startkey=["type0",
> > > fromSeqNumber]&endkey=["type0",{}] WITH include_docs
> > >
> > > The last tries seems to be my best shot, but I do not know how it's
> work
> > > and whether it's better than a filter or my original query (computing
> > time).
> > >
> > > Maybe I missed a feature to achieve this kind of documents fetch...
> > > Thanks for any answers.
> > >
> > > (Using CouchDB 1.4)
> > >
> >
>

Reply via email to