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 <[email protected]>: > 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" <[email protected]> wrote: > > > No one ? > > > > > > > > 2016-09-09 17:48 GMT+02:00 max <[email protected]>: > > > > > 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) > > > > > >
