-
Notifications
You must be signed in to change notification settings - Fork 21
Bulk update #126
Comments
Having the update as a map would be easier I think :
Or, more powerful (and similar performance: 1 request app->DS, 2X request DS->Couch) a function
I agree this would be convenient and might improve performance of some cozy apps. |
Yes, a map would indeed be better (I wonder how I could have missed this). I'll try to add this feature if I get some time soon, this could show useful for Kresus. |
👍 This would be useful to import larger time series (for example, 15 years of currency data for ~10 different currencies is north of 25000 values). EDIT: Actually, bulk insert would be useful for that, which also shouldn't be very different from bulk delete / update. |
FYI, according to this post about couchdb performance:
|
@jankeromnes , One thing to keep in mind is that cozy has a lot of views in couchdb. So adding many documents slow down the whole cozy. We already had some troubles with emails when importing large accounts. So for your use case of currency, (ie. never changing values). The performance-optimal solution would be to have huge documents with, say, all data for a month and then using views to produce the index you need function(doc){
if (doc.docType == 'MonthOfCurrencyExchange')
for (date in doc.dates)
for (currency in date.currencies)
emit(date, currency, value); |
Interesting idea, thanks @aenario! Actually it might even be faster to store all my values in one single document, since the number of documents seems to be the bottleneck. I'll try different options. |
I see there is an end-point for bulk delete, but not for bulk update. However, the db_remove_helper suggests that it shouldn't be too different to do (as a deletion seems to be actually an update, iiuc). Is there any way we could have a bulk update end-point, please?
Here's an API i imagine:
For instance, with
Then the 'date' field of all values should be updated to '1234'.
Then the 'date' field of all values is updated to 1234, and the 'bankAccount' field of all values is updated to 4321.
Not sure about the naming of
update
, maybevalues
orreplaceBy
would be more adequate.The text was updated successfully, but these errors were encountered: