Ich versuche eine Webanwendung mit nodejs und couchdb zu schreiben. In der Couch speicher ich Inhalt meiner getrennten Seite. Was mein Problem ist ..Autoinkrement in couchdb
ich würde eine schöne Urls wie diese:
http://mypage.com/content/1/blabla-detail.html
http://mypage.com/content/2/blabla-detail.html
http://mypage.com/content/5/blabla-detail.html
http://mypage.com/content/n/blabla-detail.html
allgemein
http://mypage.com/content/{OID}/blabla-detail.html
so brauche ich eine Art wie ein Autoinkrement in couchdb. Natürlich kann ich ein _id verwenden - es ist ein einzigartiges in Couchdb, aber ... Uuid in der Couch ist lang hash ... Ich will nicht, dass lange Hash in meinen URLs :(Ich suche einige einzigartige, aber kurze Werte.
Ich denke nur über das Erstellen von Ansicht, um die Anzahl aller Zeilen in Dokumenten zu erhalten, aber ... was für den Fall, wenn zur gleichen Zeit nur wenige Benutzer ein neues Element speichern werden.Es wird ein Problem sein - couchdb hat keine Transaktion.
ich bin fest.
Kann jemand mir helfen, dieses Problem zu lösen?
Sie können in CouchDB kein Autoinkrement durchführen, und Sie sollten auch nicht versuchen, es aufgrund seiner potenziell verteilten Natur zu versuchen. Wenn Sie benutzerfreundliche URLs erstellen möchten, können Sie "Slugs" basierend auf dem Blog-Titel generieren. Außerdem gibt es eine bestehende Blog-Demo mit dem Namen [Sofa] (https://github.com/jchris/sofa), die wahrscheinlich einen Besuch wert ist. –
Ich kann keinen Blog-Titel verwenden, um freundliche URLs zu erstellen, weil ich viele gleiche Titel von Post/Seiten erwartet habe. Also werde ich eine Nummer hinzufügen müssen - also zurück zu meiner ersten Frage :) –