Storing OpenAPI Specification Document in AWS DocumentDB

0

I am trying to store Open API Doc (Swagger Doc) in AWS DocumentDB which has following Json structure under path section of the doc.

It's failing to save the doc because of the periods in the key under "content", "application/vnd.hedtech.integration.v1.0.0+json". If I replace the periods with underscores it saves. I'm able to save in MongoDB without replacing periods in the key but not in AWS DocumentDB.

What's the best way to handle this?

Thanks,

"responses": {
    "200": {
        "description": "Success",
        "headers": {
            "X-Media-Type": {
                "description": "application/vnd.hedtech.integration.v6.1.0+json",
                "schema": {
                    "type": "string"
                }
            }
        },
        "content": {
            "application/vnd.hedtech.integration.v1.0.0+json": {
                "$ref": "#/components/schemas/api-name.json"
                }
            }
        }
    }
}
maharaj
asked 10 months ago198 views
1 Answer
1

AWS DocumentDB has certain restrictions that MongoDB does not, which can cause some issues when migrating data. One of these restrictions is that it does not allow field names to contain the dot character ('.'), which appears to be the problem you are encountering.

To handle this, there are a few options:

  • Replace the dots in the field names with another character: You mentioned that you have tried this and it works. While this is a possible solution, it may not be ideal if the field names are meaningful and used elsewhere.
  • Store the problematic data as a string: You could potentially store the entire block as a string. However, this would involve serializing and deserializing the data when you read and write it, and you would lose some of the benefits of using a document database.
  • Use a different database that supports field names with dots: If the use of dots in field names is a hard requirement, you may need to consider using a different database that supports this.
profile picture
EXPERT
answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions