Creates an index on the cluster identified by its name in a rolling manner. Creating the index in this way allows index builds on one replica set member as a standalone at a time, starting with the secondary members. Creating indexes in this way requires at least one replica set election.
- Project Data Access Admin
- Project Index Manager
Path parameters
-
Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.
Format should match the following pattern:
^([a-f0-9]{24})$. -
Human-readable label that identifies the cluster on which MongoDB Cloud creates an index.
Format should match the following pattern:
^[a-zA-Z0-9][a-zA-Z0-9-]*$.
Query parameters
-
Flag that indicates whether Application wraps the response in an
envelopeJSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.Default value is
false. -
Flag that indicates whether the response body should be in the prettyprint format.
Default value is
false.Prettyprint
Body
Required
Rolling index to create on the specified cluster.
-
One or more settings that specify language-specific rules to compare strings within this index.
Collation Options -
Human-readable label of the collection for which MongoDB Cloud creates an index.
-
Human-readable label of the database that holds the collection on which MongoDB Cloud creates an index.
-
List that contains one or more objects that describe the parameters that you want to index.
-
One or more settings that determine how the MongoDB Cloud creates this MongoDB index.
Index Options
atlas api rollingIndex createRollingIndex --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20240530001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.CreateGroupClusterIndexRollingIndexApiParams{}
sdkResp, httpResp, err := client.RollingIndexApi.
CreateGroupClusterIndexRollingIndexWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/index" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/index" \
-d '{ <Payload> }'
{
"collation": {
"alternate": "non-ignorable",
"backwards": false,
"caseFirst": "lower",
"caseLevel": false,
"locale": "af",
"maxVariable": "punct",
"normalization": false,
"numericOrdering": false,
"strength": 3
},
"collection": "accounts",
"db": "sample_airbnb",
"keys": [
{
"property_type": "1"
}
],
"options": {
"name": "PartialIndexTest",
"partialFilterExpression": {
"limit": {
"$gt": 900
}
}
}
}
{
"collation": {
"alternate": "non-ignorable",
"backwards": false,
"caseFirst": "lower",
"caseLevel": false,
"locale": "af",
"maxVariable": "punct",
"normalization": false,
"numericOrdering": false,
"strength": 3
},
"collection": "accounts",
"db": "sample_airbnb",
"keys": [
{
"property_type": "1"
}
],
"options": {
"name": "PartialIndexTest",
"partialFilterExpression": {
"limit": {
"$gt": 900
}
}
}
}
{
"collation": {
"alternate": "non-ignorable",
"backwards": false,
"caseFirst": "lower",
"caseLevel": false,
"locale": "af",
"maxVariable": "punct",
"normalization": false,
"numericOrdering": false,
"strength": 3
},
"collection": "accounts",
"db": "sample_airbnb",
"keys": [
{
"test_field": "1"
}
],
"options": {
"name": "SparseIndexTest",
"sparse": true
}
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"error": 400,
"errorCode": "VALIDATION_ERROR",
"reason": "Bad Request"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 401,
"errorCode": "NOT_ORG_GROUP_CREATOR",
"reason": "Unauthorized"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 403,
"errorCode": "CANNOT_CHANGE_GROUP_NAME",
"reason": "Forbidden"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"error": 404,
"errorCode": "RESOURCE_NOT_FOUND",
"reason": "Not Found"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"error": 409,
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK",
"reason": "Conflict"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 429,
"errorCode": "RATE_LIMITED",
"reason": "Too Many Requests"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 500,
"errorCode": "UNEXPECTED_ERROR",
"reason": "Internal Server Error"
}