Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6868879
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T03:29:18+00:00 2026-05-27T03:29:18+00:00

Following my question here I am exmploring ideas for a generic approach to document

  • 0

Following my question here I am exmploring ideas for a generic approach to document versioning in CouchDB. While I imagine there may be no canonical approach, I had the following idea and am looking for feedback.

I would like to maintain readable document ids as much as possible, so a document existing at document1 would contain a pointer document to all existing versions on the system. The actual revision documents would be at something like document1/308ef032a3801a where
308ef032a3801a is some random number or hash.

Example

The pointer document

{
    "_id" : "document1",
    "versions" : [ "document1/308ef032a3801a" ]
}

The version document

{
    "_id" : "document1/308ef032a3801a",
    ... actual content
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T03:29:18+00:00Added an answer on May 27, 2026 at 3:29 am

    It’s more typical to keep older versions of your document inside your current revision (either as JSON or, often, as an attachment). For the JSON case;

    {
      "_id":"foo",
      "_rev":"3-fsfsfsdf",
      "foo":"current value of foo",
      "history": {
        "2": {
          "foo":"previous version of foo"
        },
        "1": {
          "foo":"initial version of foo"
        }
      }
    }
    

    Obviously this clutters things somewhat, which is why it’s often simpler to push the full old version of the document into an attachment instead. This pattern is common enough that CouchDB ships with a library, jquery.couch.js, that implements it (in the saveDoc(doc) function).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This is probably a silly question, but here it goes.Imagine you have the following
Following on from my question here , I'm trying to create a generic value
There was a post on here recently which posed the following question: You have
I have the following generic question Here is a my generic message interface. public
this is my first question here. I have the following jquery code: $(document).ready(function(){ $(a).click(function(){
I see a similar question here but following the answer there doesn't resolve this
Following a question posted here about how I can increase the speed on one
Following on from my question here , if I replace an image in a
I ask this question following the issue I raised here . The point is
I am here stuck with a question in my C++ book with the following:

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.