Definición
$currentOpDevuelve un flujo de documentos que contiene información sobre operaciones activas y/o inactivas, así como sesiones inactivas que están reteniendo bloqueos como parte de una transacción. La etapa devuelve un documento por cada operación o sesión. Para ejecutar
$currentOp, utilice eldb.aggregate()asistente en la base de datosadmin.$currentOptambién te permite realizar transformaciones arbitrarias de los resultados a medida que los documentos pasan por el pipeline.
Nota
Recomendamos usar la etapa de agregación $currentOp en lugar del comando currentOp (obsoleto con la versión 6.2) y el método db.currentOp().
Sintaxis
{ $currentOp: { allUsers: <boolean>, idleConnections: <boolean>, idleCursors: <boolean>, idleSessions: <boolean>, localOps: <boolean> } }
$currentOp toma un documento de opciones como su operando:
Opción | Descripción |
|---|---|
Booleano.
Para conjuntos autónomos y sets de réplicas que aplican el control de acceso, se requiere el privilegio Para los clústeres particionados que aplican el control de acceso, se requiere el privilegio Se establece por defecto en | |
booleano. Si se establece en Se establece por defecto en | |
Booleano. Si se establece en La información sobre los cursores inactivos tiene la La información sobre los cursores actualmente activos en una Se establece por defecto en | |
Booleano.
Se establece por defecto en | |
booleano. Si se establece en El parámetro Se establece por defecto en | |
booleano. Si se establece en Por ejemplo, en un clúster fragmentado con tres fragmentos donde cada fragmento es un set de réplicas con tres nodos:
Se establece por defecto en Nuevo en la versión 7.1. |
Omitir cualquiera de los parámetros anteriores causará que $currentOp use el valor por defecto de ese parámetro. Especifica un documento vacío, como se muestra a continuación, para usar los valores por defecto de todos los parámetros.
{ $currentOp: { } }
Restricciones
pipeline
$currentOpdebe ser la primera etapa en la pipeline.Pipelines que comienzan con
$currentOpsolo se pueden ejecutar en la base de datosadmin.
Control de acceso
Para conjuntos autónomos y sets de réplicas que aplican control de acceso,
inprogse requiere privilegio para ejecutar$currentOpsi allUsers: true.Para los clústeres fragmentados que aplican el control de acceso, se requiere el privilegio
inprogpara ejecutar$currentOp.
Transacciones
$currentOpno se permite en las transacciones.
restricción
Al usar Queryable Encryption, la salida de $currentOp oculta cierta información:
La salida omite todos los campos después de
"command".La salida redacta
"command"para incluir únicamente el primer elemento,$comment, y$db.
Ejemplos
Sesiones inactivas
Este ejemplo crea las siguientes etapas para devolver información sobre las sesiones inactivas que están manteniendo bloqueos como parte de una transacción:
La primera etapa devuelve documentos para todas las operaciones activas, así como sesiones inactivas que mantienen bloqueos como parte de una transacción.
La segunda etapa filtra aquellos documentos relacionados con sesiones inactivas que están reteniendo bloqueos como parte de una transacción.
db.getSiblingDB("admin").aggregate( [ { $currentOp : { allUsers: true, idleSessions: true } }, { $match : { active: false, transaction : { $exists: true } } } ] )
Puedes usar $currentOp.type para especificar un filtro equivalente:
db.getSiblingDB("admin").aggregate( [ { $currentOp : { allUsers: true, idleSessions: true } }, { $match : { type: "idleSession" } } ] )
Tip
Para las transacciones en un clúster fragmentado, incluye localOps:true en los ejemplos anteriores para obtener una vista compuesta de las transacciones.
Ambas operaciones devuelven documentos de la siguiente forma:
Cuando se ejecuta en un mongod que forma parte de un set de réplicas:
{ "type" : "idleSession", "host" : "example.mongodb.com:27017", "desc" : "inactive transaction", "client" : "198.51.100.1:50428", "connectionId" : Long(32), "appName" : "", "clientMetadata" : { "driver" : { "name" : "PyMongo", "version" : "3.9.0" }, "os" : { "type" : "Darwin", "name" : "Darwin", "architecture" : "x86_64", "version" : "10.14.5" }, "platform" : "CPython 3.7.1.final.0" }, "lsid" : { "id" : UUID("ff21e1a9-a130-4fe0-942f-9e6b6c67ea3c"), "uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=") }, "transaction" : { "parameters" : { "txnNumber" : Long(4), "autocommit" : false, "readConcern" : { "level" : "snapshot", "afterClusterTime" : Timestamp(1563892246, 1) } }, "readTimestamp" : Timestamp(0, 0), "startWallClockTime" : "2019-07-23T10:30:49.461-04:00", "timeOpenMicros" : Long(1913590), "timeActiveMicros" : Long(55), "timeInactiveMicros" : Long(1913535), "expiryTime" : "2019-07-23T10:31:49.461-04:00" }, "waitingForLock" : false, "active" : false, "locks" : { "ReplicationStateTransition" : "w", "Global" : "w", "Database" : "w", "Collection" : "w" }, "lockStats" : { "ReplicationStateTransition" : { "acquireCount" : { "w" : Long(5) } }, "Global" : { "acquireCount" : { "r" : Long(3), "w" : Long(1) } }, "Database" : { "acquireCount" : { "r" : Long(2), "w" : Long(1) } }, "Collection" : { "acquireCount" : { "w" : Long(1) } }, "Mutex" : { "acquireCount" : { "r" : Long(3) } }, "oplog" : { "acquireCount" : { "r" : Long(2) } } }, "waitingForFlowControl" : false, "flowControlStats" : {}, }
Ejecutar $currentOp con locaOps: verdadero proporciona una vista compuesta de las transacciones en curso que se ejecutan en ese mongos, en lugar de información sobre particiones individuales.
db.getSiblingDB("admin").aggregate( [ { $currentOp : { allUsers: true, idleSessions: true, localOps: true } }, { $match : { type: "idleSession" } } ] ); // or db.getSiblingDB("admin").aggregate( [ { $currentOp : { allUsers: true, idleSessions: true, localOps: true } }, { $match : { active: false, transaction : { $exists: true } } } ] )
{ "type" : "idleSession", "host" : "example.mongodb.com:27017", "desc" : "inactive transaction", "client" : "198.51.100.1:49618", "connectionId" : Long(48), "appName" : "", "clientMetadata" : { "driver" : { "name" : "PyMongo", "version" : "3.9.0" }, "os" : { "type" : "Darwin", "name" : "Darwin", "architecture" : "x86_64", "version" : "10.14.6" }, "platform" : "CPython 3.7.1.final.0", "mongos" : { "host" : "example.mongodb.com:27017", "client" : "198.51.100.1:53268", "version" : "4.2.1" } }, "lsid" : { "id" : UUID("2c9ce111-133e-45b7-a00f-a7871005cae1"), "uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=") }, "active" : false, "transaction" : { "parameters" : { "txnNumber" : Long(2), "autocommit" : false, "readConcern" : { "level" : "snapshot", "afterClusterTime" : Timestamp(1571869019, 2) } }, "globalReadTimestamp" : Timestamp(1571869019, 2), "startWallClockTime" : "2019-10-23T18:16:59.341-04:00", "timeOpenMicros" : Long(169244639), "timeActiveMicros" : Long(535), "timeInactiveMicros" : Long(169244104), "numParticipants" : 2, "participants" : [ { "name" : "shardB", "coordinator" : true, "readOnly" : false }, { "name" : "shardA", "coordinator" : false, "readOnly" : false } ], "numReadOnlyParticipants" : 0, "numNonReadOnlyParticipants" : 2 } }
Cuando se ejecuta sin localOps:true en el mongos, la información de la transacción es por partición.
Cuando se ejecuta en un mongos sin localOps:true, la información sobre la transacción es por partición.
{ "shard" : "shardB", "type" : "idleSession", "host" : "shardB.mongodb.com:27018", "desc" : "inactive transaction", "client_s" : "198.51.100.1:53961", "connectionId" : Long(63), "appName" : "", "clientMetadata" : { "driver" : { "name" : "PyMongo", "version" : "3.9.0" }, "os" : { "type" : "Darwin", "name" : "Darwin", "architecture" : "x86_64", "version" : "10.14.6" }, "platform" : "CPython 3.7.1.final.0", "mongos" : { "host" : "example.mongodb.com:27017", "client" : "198.51.100.1:53976", "version" : "4.2.0" } }, "lsid" : { "id" : UUID("720d403c-8daf-40bb-b61e-329e20b0493b"), "uid" : BinData(0,"3pxqkATNUYKV/soT7qqKE0zC0BFb0pBz1pk4xXcSHsI=") }, "transaction" : { "parameters" : { "txnNumber" : Long(1), "autocommit" : false, "readConcern" : { "level" : "snapshot" } }, "readTimestamp" : Timestamp(0, 0), "startWallClockTime" : "2019-10-21T18:31:12.192-04:00", "timeOpenMicros" : Long(24137008), "timeActiveMicros" : Long(52), "timeInactiveMicros" : Long(24136956), "expiryTime" : "2019-10-21T18:32:12.192-04:00" }, "waitingForLock" : false, "active" : false, "locks" : { "ReplicationStateTransition" : "w", "Global" : "w", "Database" : "w", "Collection" : "w" }, "lockStats" : { "ReplicationStateTransition" : { "acquireCount" : { "w" : Long(3) } }, "Global" : { "acquireCount" : { "r" : Long(1), "w" : Long(1) } }, "Database" : { "acquireCount" : { "r" : Long(1), "w" : Long(1) } }, "Collection" : { "acquireCount" : { "r" : Long(1), "w" : Long(1) } }, "Mutex" : { "acquireCount" : { "r" : Long(6) } } } } { "shard" : "shardA", "type" : "idleSession", ... }
Queries muestreadas
Este ejemplo devuelve información sobre el progreso de muestreo de la query.
La primera etapa devuelve documentos para todas las operaciones activas.
La segunda etapa filtra documentos relacionados con el analizador de consultas.
db.getSiblingDB("admin").aggregate( [ { $currentOp: { allUsers: true, localOps: true } }, { $match: { desc: "query analyzer" } } ] )
Este pipeline devuelve una salida similar a la siguiente:
Cuando se ejecuta en un mongod que forma parte de un conjunto de réplicas:
{ "desc" : "query analyzer", "ns" : "testDb.testColl", "collUuid" : UUID("ed9dfb1d-5b7c-4c6b-82e9-b0f537335795"), "samplesPerSecond" : 5, "startTime" : ISODate("2023-08-08T16:23:22.846Z"), "sampledReadsCount" : Long(2), "sampledReadsBytes" : Long(346), "sampledWritesCount" : Long(3), "sampledWritesBytes" : Long(904) }
Cuando se ejecuta en un mongos que forma parte de un clúster fragmentado:
{ "desc" : "query analyzer", "ns" : "testDb.testColl", "collUuid" : UUID("5130b4df-5966-434f-85f0-f8956b5ca74e"), "samplesPerSecond" : 5, "startTime" : ISODate("2023-08-08T16:15:07.427Z"), "sampledReadsCount" : Long(2), "sampledWritesCount" : Long(3) }
Cuando se ejecuta en un mongod --shardsvr que forma parte de un clúster fragmentado:
{ "desc" : "query analyzer", "ns" : "testDb.testColl", "collUuid" : UUID("5130b4df-5966-434f-85f0-f8956b5ca74e"), "startTime" : ISODate("2023-08-08T16:15:07.427Z"), "sampledReadsCount" : Long(2), "sampledReadsBytes" : Long(346), "sampledWritesCount" : Long(3), "sampledWritesBytes" : Long(904) }
Conexiones de colección de recuento
Puedes utilizar $currentOp para determinar qué colecciones están utilizando más conexiones en un clúster, lo que te permite identificar las conexiones activas de clientes y sus operaciones asociadas.
Considera el siguiente ejemplo:
Este pipeline agrupa por cliente, usuario y namespace, contando las conexiones activas e inactivas, luego las ordena por el total.
// Groups per client, user, and namespace; counts active/inactive // connections; then sorts by total connections per group. db.getSiblingDB("admin").aggregate( [ { $currentOp: { allUsers: true, idleConnections: true, idleSessions: true } }, { $project: { "_id": 0, client: { $arrayElemAt: [ { $split: ["$client", ":"] }, 0 ] }, curr_active: { $cond: [ { $eq: ["$active", true] }, 1, 0 ] }, curr_inactive: { $cond: [ { $eq: ["$active", false] }, 1, 0 ] }, db_user: "$effectiveUsers.user", ns: "$ns" } }, { $match: { client: { $ne: null }, db_user: { $ne: null } } }, { $group: { _id: { client: "$client", user: "$db_user", ns: "$ns" }, curr_active: { $sum: "$curr_active" }, curr_inactive: { $sum: "$curr_inactive" }, total: { $sum: 1 } } }, { $sort: { total: -1 } } ] )
Este código proporciona una lista de conexiones activas e inactivas agrupadas por dirección IP del cliente y namespace (que incluye el nombre de la base de datos y la colección) como el siguiente ejemplo:
[ { "_id": { "client": "192.168.1.10", "user": ["appUser"], "ns": "db1.collA" }, "curr_active": 3, "curr_inactive": 1, "total": 4 }, { "_id": { "client": "192.168.1.11", "user": ["reportUser"], "ns": "db2.collB" }, "curr_active": 0, "curr_inactive": 2, "total": 2 } ]
Para utilizar el controlador de MongoDB Node.js para agregar una etapa de $currentOp a una canalización de agregación, utilice el Operador $currentOp en un objeto de canalización.
Sesiones inactivas
Este ejemplo crea las siguientes etapas del pipeline que devuelven información sobre sesiones inactivas que están manteniendo bloqueos como parte de una transacción.
La primera etapa devuelve documentos de todas las operaciones activas y sesiones inactivas que mantienen bloqueos como parte de una transacción.
La segunda etapa filtra aquellos documentos relacionados con sesiones inactivas que están reteniendo bloqueos como parte de una transacción.
Luego, el ejemplo ejecuta la siguiente pipeline de agregación:
const db = client.db("admin"); const pipeline = [ { $currentOp: { allUsers: true, idleSessions: true } }, { $match: { active: false, transaction: { $exists: true } } } ]; const cursor = db.aggregate(pipeline); return cursor;
Puedes usar $currentOp.type para especificar un filtro equivalente en la $match etapa:
const db = client.db("admin"); const pipeline = [ { $currentOp: { allUsers: true, idleSessions: true } }, { $match: { type: "idleSession" } } ]; const cursor = db.aggregate(pipeline); return cursor;
Queries muestreadas
Este ejemplo crea las siguientes etapas para devolver información sobre el muestreo de query.
La primera etapa devuelve documentos para todas las operaciones activas.
La segunda etapa filtra documentos relacionados con el analizador de consultas.
const db = client.db("admin"); const pipeline = [ { $currentOp: { allUsers: true, localOps: true } }, { $match: { desc: "query analyzer" } } ]; const cursor = db.aggregate(pipeline); return cursor;
Campos de salida
Cada documento de salida puede contener un subconjunto de los siguientes campos, según corresponda para la operación:
$currentOp.typeEl tipo de operación. Los valores son:
opidleSessionidleCursor
Si el
$currentOp.typeestáop,$currentOp.opproporciona detalles sobre la operación específica.
$currentOp.shardEl nombre de la partición en el que se está ejecutando la operación.
Solo presente para clústeres fragmentados.
$currentOp.clientLa dirección IP (o el nombre de host) y el puerto efímero de la conexión del cliente en donde se origina la operación.
Para transacciones multi-documento,
$currentOp.clientalmacena información sobre el cliente más reciente que ejecutó una operación dentro de la transacción.Solo para autónomos y sets de réplicas
$currentOp.client_sLa dirección IP (o nombre del host) y el puerto efímero del
mongosdonde se origina la operación.Solo para clústeres fragmentados
$currentOp.clientMetadataInformación adicional del cliente.
Para transacciones multi-documento,
$currentOp.clientalmacena información sobre el cliente más reciente que ejecutó una operación dentro de la transacción.
$currentOp.appNameEl identificador de la aplicación cliente que ejecutó la operación. Utiliza la opción de cadena de conexión
appNamepara establecer un valor personalizado para el campoappName.
$currentOp.activeUn valor booleano que especifica si la operación ha comenzado. El valor es
truesi la operación ha comenzado ofalsesi la operación está inactiva, como una conexión inactiva, una sesión inactiva o un hilo interno que actualmente está inactivo. Una operación puede estar activa incluso si la operación ha cedido a otra operación.
$currentOp.twoPhaseCommitCoordinatorInformación sobre cualquiera de los siguientes:
Las métricas de coordinación de confirmación para una transacción cuyas operaciones de guardado abarcan múltiples particiones.
La coordinación del commit está gestionada por una partición, y
$currentOp(se ejecuta tanto en unmongoscomo en un nodo de la partición) devuelve la información de coordinación de una partición solo para las transacciones que la partición está coordinando actualmente.El siguiente ejemplo filtra solo las métricas de coordinación de commits:
db.getSiblingDB("admin").aggregate( [ { $currentOp: { allUsers: true, idleSessions: true } }, { $match: { desc: "transaction coordinator" } } ] )
Una operación de coordinación de envíos específica (es decir,
typeesopydesces"TransactionCoordinator") gestado por el coordinador de transacciones.Nota
Si se ejecuta con idleSessions: false,
$currentOpno devuelve la información de$currentOp.twoPhaseCommitCoordinatoreninactivestateSi el control de acceso está habilitado y allUsers: false,
$currentOpno devuelve la información$currentOp.twoPhaseCommitCoordinator
$currentOp.twoPhaseCommitCoordinator.lsidEl identificador de sesión para la transacción multipartición.
La combinación de
lsidytxnNumberidentifica la transacción.Disponible tanto para las métricas de coordinación de confirmaciones como para operaciones de coordinación específicas.
$currentOp.twoPhaseCommitCoordinator.txnNumberEl número de transacción para la transacción de múltiples particiones.
La combinación de
txnNumberylsididentifica la transacción.Disponible tanto para las métricas de coordinación de confirmaciones como para operaciones de coordinación específicas.
$currentOp.twoPhaseCommitCoordinator.actionLa operación específica de coordinación de confirmación originada por el coordinador de transacciones:
"sendingPrepare""sendingCommit""sendingAbort""writingParticipantList""writingDecision""deletingCoordinatorDoc"
Solo disponible para operación de coordinación específica.
$currentOp.twoPhaseCommitCoordinator.startTimeLa fecha y hora de inicio del
action.Solo disponible para operación de coordinación específica.
$currentOp.twoPhaseCommitCoordinator.numParticipantsNúmero de particiones que participan en este commit.
Solo está disponible para las métricas de coordinación de commits.
$currentOp.twoPhaseCommitCoordinator.stateEl paso/estado actual del proceso de coordinación de confirmaciones.
Paso/etapaDescripcióninactiveNo forma parte activamente de una commit.
writingParticipantListRegistrando un registro local de la lista de particiones que forman parte de esta transacción multi-partición.
waitingForVotesEsperando que los participantes respondan con su voto para confirmar o abortar.
writingDecisionRedacción de un registro local de la decisión del coordinador de confirmar o abortar en función de los votos.
waitingForDecisionAckEsperando que los participantes reconozcan la decisión del coordinador de confirmar o cancelar.
deletingCoordinatorDocBorrando el registro local de la decisión de confirmación.
Solo está disponible para las métricas de coordinación de commits.
Ver también
$currentOp.twoPhaseCommitCoordinator.stepDurations.
$currentOp.twoPhaseCommitCoordinator.commitStartTimeLa fecha y hora en que comenzó el commit.
Solo está disponible para las métricas de coordinación de commits.
$currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailoverUn booleano que indica si la coordinación de confirmaciones se reinició debido a un cambio de respaldo en la partición que coordina la confirmación.
Si
hasRecoveredFromFailoveres verdadero, entonces los tiempos especificados en$currentOp.twoPhaseCommitCoordinator.stepDurationspueden no ser precisos para todos los pasos.Solo está disponible para las métricas de coordinación de commits.
$currentOp.twoPhaseCommitCoordinator.stepDurationsUn documento que contiene la duración, en microsegundos, de la
steps/statecompletada o en curso del proceso en activo, así como la duración total acumulada; por ejemplo:"stepDurations" : { "writingParticipantListMicros" : Long(17801), "totalCommitDurationMicros" : Long(42488463), "waitingForVotesMicros" : Long(30378502), "writingDecisionMicros" : Long(15015), "waitingForDecisionAcksMicros" : Long(12077145), "deletingCoordinatorDocMicros" : Long(6009) }, Si
$currentOp.twoPhaseCommitCoordinator.hasRecoveredFromFailoveres verdadero, entonces los tiempos especificados enstepDurationspueden no ser precisos para todos los pasos.Para un coordinador en un estado
inactive, el documento está vacío:"stepDurations" : { } Solo está disponible para las métricas de coordinación de commits.
Se puede consultar
$currentOp.twoPhaseCommitCoordinator.state.
$currentOp.twoPhaseCommitCoordinator.decisionUn documento que contiene la decisión de confirmación/cancelación, por ejemplo:
Para una decisión de confirmación:
"decision" : { "decision" : "commit", "commitTimestamp" : Timestamp(1572034669, 3) } Para una decisión de aborto:
"decision" : { "decision" : "abort", "abortStatus" : { "code" : 282, "codeName" : "TransactionCoordinatorReachedAbortDecision", "errmsg" : "Transaction exceeded deadline" } } Solo está disponible para las métricas de coordinación de commits.
$currentOp.twoPhaseCommitCoordinator.deadlineLa fecha y hora en que el compromiso debe finalizar.
Solo está disponible para las métricas de coordinación de commits.
$currentOp.effectiveUsersUn arreglo que contiene un documento para cada usuario asociado con la operación. Cada documento de usuario contiene el
usernombre y la autenticacióndb.
$currentOp.runByUn arreglo que contiene un documento para cada usuario que esté falseando identidad como el
effectiveUser(s)para la operación. El documento runBy contiene el nombre deusery la autenticacióndb. En general, el usuario que suplanta es el usuario__system; por ejemplo."runBy" : [ { "user" : "__system", "db" : "local" } ]
$currentOp.opidEl identificador de la operación. Puedes pasar este valor a
db.killOp()enmongoshpara finalizar la operación.Advertencia
Finaliza las operaciones en marcha con extrema precaución. Sólo use
db.killOp()para finalizar las operaciones iniciadas por los clientes y no terminar operaciones internas de base de datos.
$currentOp.versionContextDescribe la compatibilidad de características entre versiones (compatibilidad de características entre versiones) de la operación, que el servidor utiliza para determinar las funcionalidades disponibles.
Esta información está destinada a la solución de problemas encontrados durante la actualización o degradación de un servidor.
Nuevo en la versión 8.2.
$currentOp.secs_runningLa duración de la operación en segundos. MongoDB calcula este valor restando la hora de inicio de la operación de la hora actual.
Solo está presente si la operación se está ejecutando; es decir, si
activeestátrue.
$currentOp.microsecs_runningLa duración de la operación en microsegundos. MongoDB calcula este valor restando la hora actual de la hora de inicio de la operación.
Solo se presenta si la operación está en marcha; es decir, si
activeestátrue.
$currentOp.lsidEl identificador de sesión.
Solo se presenta si la operación está asociada a una sesión.
$currentOp.transactionUn documento que contiene información sobre una transacción multi-documento.
Solo se presenta si la operación es parte de una transacción:
En un set de réplicas.
En un clúster fragmentado si
$currentOpse ejecuta sin localOps:true. La información de la transacción es por partición.En un clúster particionado si
$currentOpse ejecuta con localOps:true. La información de la transacción es una vista compuesta en lugar de por partición.
$currentOp.transaction.parametersUn documento que contiene información sobre transacción multi-documento.
Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.parameters.txnNumberEl número de transacción.
Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.parameters.autocommitUna bandera booleana que indica si autocommit está activado para la transacción.
Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.parameters.readConcernEl nivel de consistencia de lectura para la transacción.
Las transacciones multi-documento admiten el nivel de consistencia de lectura
"snapshot","local"y"majority".Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.globalReadTimestampLa marca de tiempo de la instantánea leída por las operaciones en la transacción de clúster particionado que utiliza "preocupación de lectura de instantánea". Para las transacciones en clústeres particionados, el nivel de consistencia de lectura
"snapshot"de los datos se sincroniza entre las particiones; es decir, otros niveles de consistencia de lectura no pueden garantizar que los datos sean de la misma vista de snapshot en todas las particiones.Solo está presente cuando se ejecuta con localOps: true para transacciones de clúster particionadas.
$currentOp.transaction.readTimestampLa marca de tiempo del snapshot que leen las operaciones en esta transacción
Solo se presenta si la operación forma parte de una transacción multi-documento. Sin embargo, el campo no se devuelve si:
la transacción está en un clúster y utiliza lecturas de snapshot, y
$currentOpse ejecuta con localOps: true.
En su lugar, se devuelve
$currentOp.transaction.globalReadTimestamp.
$currentOp.transaction.startWallClockTimeLa fecha y hora (con zona horaria) del inicio de la transacción.
Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.timeOpenMicrosLa duración, en microsegundos, de la transacción.
El
timeActiveMicrosvalor añadido altimeInactiveMicrosdebe ser igual altimeOpenMicros.Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.timeActiveMicrosLa cantidad total de tiempo que la transacción ha estado activa; es decir, cuando la transacción tenía operaciones en ejecución.
El
timeActiveMicrosvalor añadido altimeInactiveMicrosdebe ser igual altimeOpenMicros.Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.timeInactiveMicrosLa cantidad total de tiempo que la transacción ha estado inactiva, es decir, cuando la transacción no tenía operaciones en ejecución.
El
timeInactiveMicrosvalor añadido altimeActiveMicrosdebe ser igual altimeOpenMicros.Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.transaction.numParticipantsNúmero de particiones que participan en esta transacción.
Solo está presente si la operación es parte de una transacción en un clúster y
$currentOpse ejecuta con localOps: true
$currentOp.transaction.participantsUn arreglo de documentos que detallan las particiones participantes en esta transacción. Cada documento contiene el nombre, una bandera que indica si la partición actúa como coordinador de confirmación y una bandera que indica si la partición solo participa en operaciones de lectura para la transacción.
{ "name" : "shardA", "coordinator" : false, "readOnly" : false } Solo está presente si la operación es parte de una transacción en un clúster y
$currentOpse ejecuta con localOps: true
$currentOp.transaction.numReadOnlyParticipantsNúmero de particiones solo afectados por operaciones de lectura en esta transacción.
Solo está presente si la operación es parte de una transacción en un clúster y
$currentOpse ejecuta con localOps: true
$currentOp.transaction.numNonReadOnlyParticipantsNúmero de particiones afectadas por operaciones distintas a las de lectura en esta transacción.
Solo está presente si la operación es parte de una transacción en un clúster y
$currentOpse ejecuta con localOps: true
$currentOp.transaction.expiryTimeLa fecha y hora (con zona horaria) en que la transacción expirará y abortará.
El
$currentOp.transaction.expiryTimees igual al$currentOp.transaction.startWallClockTime+ eltransactionLifetimeLimitSeconds.Para obtener más información, consulta Límite de tiempo de ejecución para transacciones.
Solo está presente si la operación forma parte de una transacción multidocumento.
$currentOp.opUna string que identifica el tipo de operación específico. Solo se presenta si
$currentOp.typeesop.Los valores posibles son:
"none""update""insert""query""command""getmore""remove""killcursors"
"command"las operaciones incluyen la mayoría de los comandos comocreateIndexes,aggregateyfindAndModify."query"las operaciones incluyen operacionesfindy operaciones OP_QUERY.
$currentOp.nsEl namespace al que se dirige la operación. Un namespace consiste en el nombre de la base de datos y el nombre de la colección concatenados con un punto (
.); es decir,"<database>.<collection>".
$currentOp.commandUn documento que contiene el objeto de comando completo asociado con esta operación.
Por ejemplo, la siguiente salida contiene el objeto de comando para una
findoperación en una colección llamadaitemsen una base de datos llamadatest:"command" : { "find" : "items", "filter" : { "sku" : 1403978 }, ... "$db" : "test" } El siguiente resultado de ejemplo contiene el objeto de comando para una operación
getMoregenerado por un comando con ID de cursor19234103609en una colección llamadaitemsen una base de datos llamadatest:"command" : { "getMore" : Long("19234103609"), "collection" : "items", "batchSize" : 10, ... "$db" : "test" }, Si el documento de comando supera 1 kilobyte, el documento tiene la siguiente forma:
"command" : { "$truncated": <string>, "comment": <string> } El campo
$truncatedcontiene un resumen en forma de string del documento, excluyendo el campocommentdel documento si está presente. Si el resumen sigue superando 1 kilobyte, se trunca aún más, indicado por una elipsis (...) al final de la string.El campo
commentestá presente si se pasó un comentario a la operación. Se puede adjuntar un comentario a cualquier comando de base de datos.
$currentOp.cursorUn documento que contiene la información del cursor para las operaciones
idleCursorygetmore; es decir, dondetypeesidleCursoroopesgetmore.Si se informa sobre una operación de
getmoreantes de quegetmorehaya accedido a su información de cursor, el campocursorno estará disponible.$currentOp.cursor.lastAccessDateLa fecha y hora en que se utilizó el cursor por última vez.
Si el cursor está en uso activo (es decir,
opesgetmorey eltypeno esidleCursor), entonceslastAccessDatese informa bien el tiempo en que terminó elgetmoreanterior o el tiempo en que se creó el cursor si este es el primergetmore.
$currentOp.cursor.noCursorTimeoutEl indicador que indica que el cursor no caduca cuando está inactivo; es decir, si el cursor tiene la opción
noTimeoutactivada.Si es cierto, el cursor no agota el tiempo cuando está inactivo.
En caso de ser falso, el cursor se desactiva cuando está inactivo.
Para más información, consulte
cursor.addOption()
$currentOp.cursor.tailableLa bandera que indica si el cursor es un cursor con seguimiento para una colección con tamaño fijo. Los cursores con seguimiento permanecen abiertos después de que el cliente agota los resultados en el cursor inicial.
Para obtener más información, consulte:
$currentOp.cursor.awaitDataEl indicador que señala si el cursor con seguimiento debe bloquear temporalmente un comando
getMoreen el cursor mientras espera nuevos datos en lugar de devolver ningún dato.Para los cursores sin seguimiento, el valor siempre es false.
$currentOp.cursor.originatingCommandEl campo
originatingCommandcontiene el objeto de comando completo (por ejemplo,findoaggregate) que originalmente creó el cursor.
$currentOp.cursor.planSummaryUna string que especifica si el cursor utiliza un escaneo de colección (
COLLSCAN) o un escaneo de índice (IXSCAN { ... }).El
IXSCANtambién incluye el documento de especificaciones del índice utilizado.No está disponible cuando se ejecuta con
localOps: trueenmongoso al hacer reporte enidleCursors.
$currentOp.cursor.queryFrameworkNuevo en la versión 6.2.
Un string que especifica la estructura del query utilizado para procesar una operación.
$currentOp.planSummaryUna string que especifica si el cursor utiliza un escaneo de colección (
COLLSCAN) o un escaneo de índice (IXSCAN { ... }).No disponible al ejecutarse con
localOps: trueenmongos.
$currentOp.inUseTrackedMemBytesNuevo en la versión 8.3.
Número de bytes de memoria rastreada en uso por la operación de query actual.
$currentOp.peakTrackedMemBytesNuevo en la versión 8.3.
Número máximo de bytes de memoria supervisada en uso por la operación de query actual.
$currentOp.prepareReadConflictsEl número de veces que la operación actual tuvo que esperar a que una transacción preparada con un guardado se confirmara o abortara.
Mientras espera, la operación sigue manteniendo cualquier bloqueo necesario y recursos del motor de almacenamiento.
$currentOp.writeConflictsEl número de veces que la operación actual entró en conflicto con otra operación de guardar en el mismo documento.
$currentOp.numYieldsnumYieldses un contador que informa el número de veces que la operación ha suspendido para permitir que otras operaciones se completen.Por lo general, las operaciones ceden cuando necesitan acceder a datos que MongoDB aún no ha leído completamente en la memoria. Esto permite que otras operaciones que tienen datos en memoria se completen rápidamente mientras MongoDB lee los datos de la operación de ceder recursos.
$currentOp.numInterruptChecksNúmero de veces que el servidor ha comprobado la operación en busca de interrupciones desde que se inició. Las operaciones de corta duración devuelven números pequeños, preferentemente 0 o 1. Las operaciones de larga duración muestran números grandes, ya que el servidor ha comprobado varias veces para determinar si la operación se detuvo o agotó el tiempo.
Novedad en la versión 8.3: También disponible en 8.2.2 y 8.0.20.
$currentOp.queryShapeHashNuevo en la versión 8.0.
queryShapeHashes una string hexadecimal con el hash de una forma del query. Para más detalles, consulta Forma del query.
$currentOp.dataThroughputLastSecondCantidad de datos (en MiB) procesados por la operación
validateen el último segundo. Solo disponible para unavalidateoperación que actualmente está escaneando documentos. Por ejemplo:"msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%", "progress" : { "done" : 7258, "total" : 24000 }, "numYields" : 0, "dataThroughputLastSecond" : 15.576952934265137, "dataThroughputAverage" : 15.375944137573242,
$currentOp.dataThroughputAverageLa cantidad promedio de datos (en MiB) procesados por la operación
validate. Solo disponible para unavalidateoperación que actualmente está escaneando documentos. Por ejemplo:"msg" : "Validate: scanning documents Validate: scanning documents: 7258/24000 30%", "progress" : { "done" : 7258, "total" : 24000 }, "numYields" : 0, "dataThroughputLastSecond" : 15.576952934265137, "dataThroughputAverage" : 15.375944137573242,
$currentOp.locksEl documento
locksinforma el tipo y el modo de bloqueos que la operación mantiene actualmente. Los posibles tipos de bloqueo son los siguientes:Tipo de bloqueoDescripciónParallelBatchWriterModeRepresenta un bloqueo para el modo de escritura por lotes paralelo.
En versiones anteriores, la información de PBWM se informaba como parte de la información de bloqueo de
Global.ReplicationStateTransitionRepresenta el bloqueo tomado para las transiciones de estado del nodo del set de réplicas.
GlobalRepresenta el bloqueo global.
DatabaseRepresenta el bloqueo de la base de datos.
CollectionRepresenta un bloqueo de colección.
MutexRepresenta una exclusión mutua.
MetadataRepresenta un bloqueo de metadatos.
DDLDatabaseRepresenta un bloqueo de base de datos DDL.
Nuevo en la versión 7.1.
DDLCollectionRepresenta un bloqueo de colección DDL.
Nuevo en la versión 7.1.
oplogRepresenta un bloqueo en el oplog.
Los modos posibles son los siguientes:
Modo de bloqueoDescripciónRRepresenta un bloqueo compartido (S).
WRepresenta un bloqueo exclusivo (X).
rRepresenta un bloqueo de intención compartida (IS).
wRepresenta un bloqueo de intención exclusiva (IX).
$currentOp.lockStatsPara cada tipo y modo de bloqueo (ver
lockspara descripciones de tipos y modos de bloqueo), devuelve la siguiente información:$currentOp.lockStats.acquireCountCantidad de veces que la operación adquirió el bloqueo en el modo especificado.
$currentOp.lockStats.acquireWaitCountCantidad de veces que la operación tuvo que esperar para la adquisición de bloqueos
acquireCountporque los bloqueos se mantenían en una moda conflictiva.acquireWaitCountes menor o igual queacquireCount.
$currentOp.lockStats.timeAcquiringMicrosTiempo acumulado en microsegundos que la operación tuvo que esperar para adquirir los bloqueos.
timeAcquiringMicrosdividido poracquireWaitCountproporciona un tiempo de espera promedio aproximado para la moda de bloqueo particular.
$currentOp.waitingForLockDevuelve un valor booleano.
waitingForLockestruesi la operación está esperando un bloqueo yfalsesi la operación tiene el bloqueo requerido.
$currentOp.msgEl
msgproporciona un mensaje que describe el estado y el progreso de la operación. En el caso de las operaciones de indexación o mapReduce, el campo informa el porcentaje de finalización.
$currentOp.progressInformes sobre el progreso de las operaciones de mapReduce o indexación. Los campos
progresscorresponden al porcentaje de finalización del campomsg. Elprogressespecifica la siguiente información:
$currentOp.killPendingDevuelve
truesi la operación está actualmente marcada para su terminación. Cuando la operación alcance su siguiente punto seguro de finalización, la operación finalizará.
$currentOp.waitingForFlowControlUn valor booleano que indica si la operación tuvo que esperar debido al control de flujo.
$currentOp.flowControlStatsLas estadísticas de control de flujo para esta operación.
$currentOp.totalOperationTimeElapsedEl tiempo total transcurrido, en segundos, para la operación de re-sharding actual. El tiempo se establece en 0 cuando comienza una nueva operación de rehashing.
Solo está presente si se está realizando una operación de re-asignación de particiones.
Nuevo en la versión 5.0.
$currentOp.remainingOperationTimeEstimatedEl tiempo estimado restante, en segundos, para la operación de redistribución de particiones en curso. El tiempo se establece en -1 cuando se inicia una nueva operación de redistribución de particiones.
Solo está presente cuando se está llevando a cabo una operación de reasignación de particiones. Este campo puede no estar presente si no se puede calcular una estimación.
Nuevo en la versión 5.0.
$currentOp.approxDocumentsToCopyEl número aproximado de documentos que se copiarán desde las particiones donantes a las particiones destinatarias durante la operación de reasignación de particiones. Este número es una estimación que se establece al inicio de la operación de resharding y no cambia una vez que se haya establecido. El número se establece en 0 cuando comienza una nueva operación de redistribución de datos. Es posible que
$currentOp.documentsCopiedy$currentOp.bytesCopiedacaben superando a$currentOp.approxDocumentsToCopyy$currentOp.approxBytesToCopy, respectivamente, si la distribución de datos posterior a la redistribución de particiones no es perfectamente uniforme.Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.documentsCopiedLa cantidad de documentos copiados desde particiones donantes a particiones receptoras durante la operación de refragmentación. El número se establece en 0 cuando se inicia una nueva operación de cambio de partición.
Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.approxBytesToCopyEl número aproximado de bytes que se copiarán de las particiones donantes a las particiones receptoras durante la operación de reshardeo. Esta cifra es una estimación que se establece al inicio de la operación de reconfiguración y que no cambia después de haber sido definida. El número se establece en 0 cuando inicia una nueva operación de redistribución de shards. Es posible que
$currentOp.documentsCopiedy$currentOp.bytesCopiedterminen superando$currentOp.approxDocumentsToCopyy$currentOp.approxBytesToCopy, respectivamente, si la distribución de datos posterior a la redistribución no es perfectamente uniforme.Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.bytesCopiedEl número de bytes copiados de particiones donantes a particiones receptoras durante la operación de refragmentación. El número se establece en 0 cuando se inicia una nueva operación de reestructuración.
Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.totalCopyTimeElapsedEl tiempo total transcurrido, en segundos, para las tareas en curso de copia de datos desde las particiones donantes a las particiones receptoras para la operación de redistribución actual. El tiempo se establece en 0 cuando comienza una nueva operación de reasignación de particiones.
Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.oplogEntriesFetchedEl número de entradas obtenidas del oplog para la operación de reestructuración actual. El número se pone a 0 cuando comienza una nueva operación de redistribución de datos.
Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.oplogEntriesAppliedEl número de entradas aplicadas al Oplog para la operación actual de re-sharding. El número se establece en 0 cuando comienza una nueva operación de cambiación de particiones.
Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.totalApplyTimeElapsedEl tiempo total transcurrido, en segundos, para el paso de aplicar de la operación de redistribución actual. En el paso de aplicación, los fragmentos receptores aplican entradas de oplog para modificar sus datos basándose en nuevas escrituras entrantes de fragmentos donantes. El tiempo se ajusta a 0 cuando se inicia una nueva operación de redistribución.
Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
Nuevo en la versión 5.0.
$currentOp.countWritesDuringCriticalSectionEl número de guardados realizados en la sección crítica para la operación de re-sharding actual. La sección crítica impide la entrada de nuevas escrituras en la colección que actualmente está siendo redistribuida. El número se establece en 0 cuando comienza una nueva operación de redistribución.
Solo está presente en una partición donante cuando se está llevando a cabo una operación de reconstrucción de particiones.
Nuevo en la versión 5.0.
$currentOp.totalCriticalSectionTimeElapsedEl tiempo total transcurrido, en segundos, para la sección crítica de la operación de resharding actual. La sección crítica impide nuevas escrituras entrantes en la colección que está siendo redistribuida actualmente. El tiempo se establece en 0 cuando inicia una nueva operación de redistribución de datos.
Solo está presente en una partición donante cuando se está llevando a cabo una operación de reconstrucción de particiones.
Nuevo en la versión 5.0.
$currentOp.donorStateEl estado actual de una partición donante para la operación de nueva partición. El estado se establece en
unusedcuando se inicia una nueva operación de re-shard.Solo está presente en una partición donante cuando se está llevando a cabo una operación de reconstrucción de particiones.
EstadoDescripciónunusedLa operación de recrisprado está a punto de comenzar o recuperarse de un traspaso primario.
preparing-to-donateLa partición donante se está preparando para donar datos a las particiones receptoras.
donating-initial-dataEl fragmento donante está transfiriendo datos a los fragmentos receptores.
donating-oplog-entriesLa partición donante está donando entradas de oplog a las particiones receptoras.
preparing-to-block-writesLa partición donante está a punto de impedir nuevas operaciones de guardado en la colección que se está redistribuyendo.
errorSe ha producido un error durante la operación de redistribución de fragmentos.
blocking-writesLa partición donante está impidiendo nuevas operaciones de guardado entrantes y ha notificado a todas las particiones receptoras que se han impedido nuevos guardados entrantes.
doneLa partición donante ha descartado la antigua colección particionada y la operación de redistribución ha finalizado.
Nuevo en la versión 5.0.
$currentOp.recipientStateEl estado actual de una partición receptora para una operación de redistribución de particiones. El estado se establece en
unusedcuando se inicia una nueva operación de re-shard.Solo está presente en una partición receptora cuando se está realizando una operación de redistribución de particiones.
EstadoDescripciónunusedLa operación de recrisprado está a punto de comenzar o recuperarse de un traspaso primario.
awaiting-fetch-timestampLa partición receptora está esperando que las particiones donantes estén preparadas para donar sus datos.
creating-collectionLa partición receptora está creando la nueva colección particionada.
cloningLa partición receptora está recibiendo datos de las particiones donantes.
applyingLa partición receptora está aplicando entradas del oplog para modificar su copia de los datos en función de las nuevas operaciones de guardado entrantes de las particiones donantes.
errorSe produjo un error durante la operación de cambio de partición.
strict-consistencyLa partición receptora tiene todos los cambios de datos almacenados en una colección temporal.
doneLa operación de redistribución está completa.
Nuevo en la versión 5.0.
$currentOp.coordinatorStateEl estado del coordinador de resharding para la operación de resharding actual. El coordinador de resharding es una operación que se ejecuta en el primario del servidor de configuración. El estado se establece en
unusedcuando una nueva operación de resharding comienza.Solo está presente en el servidor de configuración coordinador.
EstadoDescripciónunusedLa operación de recrisprado está a punto de comenzar o recuperarse de un traspaso primario.
initializingEl coordinador de redistribución ha insertado el documento del coordinador en
config.reshardingOperationsy ha agregado elreshardingFieldsa la entradaconfig.collectionspara la colección original.preparing-to-donateEl coordinador de redistribución
- ha creado una entrada
config.collectionspara lo temporal - colección de resegmentación.
- ha creado una entrada
- ha insertado entradas en
config.chunkspara rangos basados en el - nueva clave de partición.
- ha insertado entradas en
- ha insertado entradas en
config.tagspara cualquier zona asociada - con la nueva clave de partición.
- ha insertado entradas en
El coordinador informa a las particiones participantes que comiencen la operación de redistribución. A continuación, el coordinador espera hasta que todas las particiones donantes hayan elegido un
minFetchTimestampy estén listas para donar.cloningEl coordinador de redistribución informa a las particiones donantes que deben donar datos a las particiones receptoras. El coordinador espera a que todas las particiones receptoras terminen de clonar los datos de la partición donante.
applyingEl coordinador de redistribución informa a las particiones receptoras que modifiquen sus copias de datos basándose en nuevos guardados entrantes de particiones donantes. El coordinador espera a que todas las particiones receptoras terminen de aplicar las entradas de oplog.
blocking-writesEl coordinador de redistribución informa a las particiones donantes que eviten que se vuelvan a redistribuir las nuevas operaciones de guardado entrantes a la colección. A continuación, el coordinador espera a que todas las particiones receptoras hayan recibido todos los cambios de datos.
abortingSe produjo un error irrecuperable durante la operación de redistribución o se ejecutó el comando
abortReshardCollection(o el métodosh.abortReshardCollection()).committingEl coordinador de redistribución remueve la entrada
config.collectionspara la colección de redistribución temporal. A continuación, el coordinador agrega elrecipientFieldsa la entrada de la colección de origen.Nuevo en la versión 5.0.
$currentOp.opStatusEl estado actual de una operación de resharding.
Solo presente si se está realizando una operación de reconfiguración. Una vez que la operación se haya completado, se eliminará la operación de la salida
currentOp.EstadoDescripciónactively runningLa operación de redistribución de particiones se está ejecutando activamente.
successLa operación de resharding ha tenido éxito.
failureLa operación de redistribución de particiones ha fallado.
canceledLa operación de refactorización fue cancelada.
Nuevo en la versión 5.0.
$currentOp.collUuidEl UUID de la colección muestreada.
Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.
$currentOp.queuesInformación sobre el
ingressactual yexecutioncolas.
$currentOp.queues.isHoldingTicketIndica si la operación tiene actualmente un ticket.
Nuevo en la versión 8.1.
$currentOp.startTimeLa hora en la que se inició el muestreo de la query.
Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.
$currentOp.samplesPerSecondEl número máximo de consultas para muestrear por segundo.
Solo se informa cuando se ejecuta
$currentOpenmongos.Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.
$currentOp.sampledReadsCountEl número de read queries muestreadas.
Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.
$currentOp.sampledWritesCountEl número de queries de guardado muestreadas.
Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.
$currentOp.sampledReadsBytesEl tamaño de las consultas de lectura muestreadas, en bytes.
En un set de réplicas, esto se informa en cada
mongod.En un clúster fragmentado, esto solo se informó en
mongodcon--shardsvr.Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.
$currentOp.sampledWritesBytesEl tamaño de las consultas de escritura muestreadas, en bytes.
En un set de réplicas, esto se informa en cada
mongod.En un clúster fragmentado, esto solo se informó en
mongodcon--shardsvr.Este campo solo aparece en documentos relacionados con el muestreo de query. Para obtener detalles, consulta query muestreadas.
Nuevo en la versión 7.0.