Crea un índice en el clúster identificado por su nombre de forma continua. Esta creación permite compilar el índice en un miembro del conjunto de réplicas de forma independiente, comenzando por los miembros secundarios. Para crear índices de esta manera, se requiere al menos una elección del conjunto de réplicas. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener el rol de administrador de acceso a datos del proyecto o el rol de administrador de índices del proyecto.
Parámetros de ruta
-
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.
NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón:
^([a-f0-9]{24})$. -
Etiqueta legible por humanos que identifica el clúster en el que MongoDB Cloud crea un índice.
El formato debe coincidir con el siguiente patrón:
^[a-zA-Z0-9][a-zA-Z0-9-]*$.
Parámetros de consulta
-
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON
envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.El valor predeterminado es
false. -
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es
false.Impresión bonita
Cuerpo
Requerido
Índice rotatorio a crear en el clúster especificado.
-
Una o más configuraciones que especifican reglas específicas del idioma para comparar cadenas dentro de este índice.
Opciones de intercalación -
Etiqueta legible por humanos de la colección para la que MongoDB Cloud crea un índice.
-
Etiqueta legible por humanos de la base de datos que contiene la colección en la que MongoDB Cloud crea un índice.
-
Lista que contiene uno o más objetos que describen los parámetros que desea indexar.
Par clave-valor que establece el parámetro a indexar como clave y el tipo de índice como valor. Para crear un índice multiclave, liste cada parámetro en su propio objeto dentro de esta matriz.
-
Una o más configuraciones que determinan cómo MongoDB Cloud crea este índice MongoDB.
Opciones del índice
atlas api rollingIndex createRollingIndex --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20230101001/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.2023-01-01+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.2023-01-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/index" \
-d '{ <Payload> }'
{
"db": "sample_airbnb",
"keys": [
{
"property_type": "1"
}
],
"options": {
"name": "PartialIndexTest",
"partialFilterExpression": {
"limit": {
"$gt": 900
}
}
},
"collation": {
"locale": "af",
"strength": 3,
"alternate": "non-ignorable",
"backwards": false,
"caseFirst": "lower",
"caseLevel": false,
"maxVariable": "punct",
"normalization": false,
"numericOrdering": false
},
"collection": "accounts"
}
{
"db": "sample_airbnb",
"keys": [
{
"property_type": "1"
}
],
"options": {
"name": "PartialIndexTest",
"partialFilterExpression": {
"limit": {
"$gt": 900
}
}
},
"collation": {
"locale": "af",
"strength": 3,
"alternate": "non-ignorable",
"backwards": false,
"caseFirst": "lower",
"caseLevel": false,
"maxVariable": "punct",
"normalization": false,
"numericOrdering": false
},
"collection": "accounts"
}
{
"db": "sample_airbnb",
"keys": [
{
"test_field": "1"
}
],
"options": {
"name": "SparseIndexTest",
"sparse": true
},
"collation": {
"locale": "af",
"strength": 3,
"alternate": "non-ignorable",
"backwards": false,
"caseFirst": "lower",
"caseLevel": false,
"maxVariable": "punct",
"normalization": false,
"numericOrdering": false
},
"collection": "accounts"
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 429,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Too Many Requests",
"errorCode": "RATE_LIMITED"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}