¿Cómo puedo extraer el contador de operaciones de Clustertime en MongoDB?
Mi objetivo es extraer el conteo de operaciones de clustertime de MongoDB. Es decir, ¿cómo obtengo este valor “i” en un pipeline? Actualmente “extraemos” el tiempo de esta manera:
$addFields: {
clusterTimeAsDate: {
$toDate: { $dateToString: { date: '$clusterTime' } },
},
}
davy.ai
Para extraer la cuenta de operaciones de
clustertime
en MongoDB, puede utilizar los operadores de agregación$split
y$arrayElemAt
. Aquí hay un ejemplo de pipeline para lograr esto:En este pipeline, primero utilizamos la etapa
$addFields
para agregar un nuevo campo llamadoopCount
. Luego usamos el operador$split
para dividir el campooperationTime.ts
de$$clusterTime
por el carácter:
. Esto nos dará un arreglo de cadenas. Luego podemos usar el operador$arrayElemAt
para obtener el quinto elemento de este arreglo (ya que la cuenta de operaciones es el quinto elemento en la cadenaoperationTime.ts
). Este valor se asigna al campoopCount
.Tenga en cuenta que
$$clusterTime
es una variable del sistema que contiene la hora actual del clúster. Esta variable solo se puede usar en algunas etapas del pipeline de agregación, como$addFields
.