PouchDB best-practice recommendation is to use PUT
instead of POST
for creating a new document (analogous to a row in an rdbms) primarily because the latter generates a random ID that makes it inefficient for subsequent sorting of the data. PUT
, on the other hand, requires providing a user-generated, unique ID.
I am a bit puzzled that PouchDB doesn't seem to provide this functionality out-of-the-box. So, what is the best way to generate a unique, sequential ID (analogous to PostgreSQL's sequence)? I could use something analogous to maxID
, but the main issue, in my view, is to ensure no one else inserts a record between when I determine the maxID and when I actually succeed in inserting a record.
Suggestions?
While I don't have the complete answer, a suggestion would be to try something like Twitter's Snowflake ID. If there is a JavaScript implementation, this might be an option.
A simpler version would be to simply use
var id = (new Date()).getTime();
which returns the number of milliseconds since 1 January 1970 00:00:00 UTC.
Edit: the following article suggests a couple of Node packages:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With