Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-2651

Deleting a Mango Design Docs using bulk docs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • Fauxton
    • None

    Description

      In Fauxtont the user can list documents / indexes and select multiple of them. The user can then press one button to delete all selected documents.

      This works for Mango created design docs, but it is quite hard to get the revision id as /_index does not list them. Current workarounds are:

      1. firing a lot of multiple requests, but given that one doc list can have 100 entries this is not a viable solution:

      curl -XGET "http://localhost:8000/animaldb/_design/e4d338e5d6f047749f5399ab998b4fa04ba0c816"
      {"_id":"_design/e4d338e5d6f047749f5399ab998b4fa04ba0c816","_rev":"1-1f37105891681e717ae37dae973bc6a4","language":"query","views":{"e4d338e5d6f047749f5399ab998b4fa04ba0c816":{"map":{"fields":{"_id":"asc"}},"reduce":"_count","options":{"def":

      {"fields":["_id"]}

      ,"w":2}}}}

      2. Querying all the design docs with includedocs, and don't use the _index endpoint, then filter out all all indexes which are not mango indexes and use the result for building the list of documents which then can get checked and deleted (downside: performance, not using the existing endpoint from mango which makes it a bit obsolete, at least for Fauxton)

      For me there are two possible solutions:

      • returning the rev id in GET /_index
      • implementing an additional POST /_bulk_index endpoint

      while I would prefer the first as the _bulk_docs endpoint already exists and works very well.

      Attachments

        Activity

          People

            Unassigned Unassigned
            robertkowalski Robert Kowalski
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: