Esta página describe los opcodes heredados que ya no son compatibles con MongoDB. Estos opcodes heredados son:
Obsoleto a partir de MongoDB 5.0.
No es compatible desde MongoDB 5.1.
A partir de MongoDB 5.1, OP_MSG y OP_COMPRESSED son los únicos códigos de operación admitidos para enviar solicitudes a un servidor MongoDB.
OP_DELETE
El mensaje OP_DELETE se utiliza para remover uno o más documentos de una colección. El formato del mensaje OP_DELETE es:
struct { MsgHeader header; // standard message header int32 ZERO; // 0 - reserved for future use cstring fullCollectionName; // "dbname.collectionname" int32 flags; // bit values - see below for details. document selector; // query object. See below for details. }
Campo | Descripción |
|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. |
| Valor entero de 0. Reservado para uso futuro. |
| El nombre completo de la colección, específicamente su namespace. El namespace es la concatenación del nombre de la base de datos con el nombre de la colección, utilizando un |
| Valores de bit para la operación: Los valores de bit corresponden a lo siguiente:
|
| Un documento BSON que representa la query utilizada para seleccionar los documentos que se eliminarán. El selector contiene uno o más elementos, los cuales deben coincidir para que un documento se elimine de la colección. |
No hay respuesta a un mensaje OP_DELETE.
OP_OBTENER_MÁS
El mensaje OP_GET_MORE se utiliza para consultar la base de datos en busca de documentos de una colección. Su formato es:
struct { MsgHeader header; // standard message header int32 ZERO; // 0 - reserved for future use cstring fullCollectionName; // "dbname.collectionname" int32 numberToReturn; // number of documents to return int64 cursorID; // cursorID from the OP_REPLY }
Campo | Descripción |
|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. |
| Valor entero de 0. Reservado para uso futuro. |
| El nombre completo de la colección, específicamente su namespace. El namespace es la concatenación del nombre de la base de datos con el nombre de la colección, utilizando un |
| Limita la cantidad de documentos en el primer mensaje OP_REPLY de la query. Sin embargo, la base de datos aún establecerá un cursor y devolverá el Si
|
| Identificador del cursor incluido en OP_REPLY. Debe ser el valor de la base de datos. |
La base de datos responderá a un mensaje OP_GET_MORE con un mensaje OP_REPLY.
OP_INSERT
El mensaje OP_INSERT se utiliza para insertar uno o más documentos en una colección. El formato del mensaje OP_INSERT es:
struct { MsgHeader header; // standard message header int32 flags; // bit values - see below cstring fullCollectionName; // "dbname.collectionname" document* documents; // one or more documents to insert into the collection }
Campo | Descripción |
|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. |
| Valores de bit para la operación: Los valores de bit corresponden a lo siguiente:
|
| El nombre completo de la colección, específicamente su namespace. El namespace es la concatenación del nombre de la base de datos con el nombre de la colección, utilizando un |
| Uno o más documentos para insertar en la colección. Si hay más de uno, se escriben en el socket en secuencia, uno tras otro. |
No hay respuesta a un mensaje OP_INSERT.
OP_KILL_CURSORS
El mensaje OP_KILL_CURSORS se utiliza para cerrar un cursor activo en la base de datos. Esto es necesario para garantizar que los recursos de la base de datos se recuperen al finalizar la query. El formato del mensaje OP_KILL_CURSORS es:
struct { MsgHeader header; // standard message header int32 ZERO; // 0 - reserved for future use int32 numberOfCursorIDs; // number of cursorIDs in message int64* cursorIDs; // sequence of cursorIDs to close }
Campo | Descripción |
|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. |
| Valor entero de 0. Reservado para uso futuro. |
| El número de IDs de cursor que están en el mensaje. |
| "arreglo" de ID de cursor que se cerrarán. Si hay más de uno, se escriben en el socket en secuencia, uno tras otro. |
Si se lee un cursor hasta agotarlo (leer hasta que OP_QUERY o OP_GET_MORE devuelve cero para el id del cursor), no es necesario matar el cursor.
OP_QUERY
El mensaje OP_QUERY se utiliza para consultar la base de datos de documentos de una colección. Su formato es:
struct OP_QUERY { MsgHeader header; // standard message header int32 flags; // bit values of query options. See below for details. cstring fullCollectionName ; // "dbname.collectionname" int32 numberToSkip; // number of documents to skip int32 numberToReturn; // number of documents to return // in the first OP_REPLY batch document query; // query object. See below for details. [ document returnFieldsSelector; ] // Optional. Selector indicating the fields // to return. See below for details. }
Campo | Descripción | |
|---|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. | |
| Valores de bit para la operación: Los valores de bit corresponden a lo siguiente:
| |
| El nombre completo de la colección, específicamente su namespace. El namespace es la concatenación del nombre de la base de datos con el nombre de la colección, utilizando un | |
| Establece la cantidad de documentos que se deben omitir (comenzando por el primer documento del conjunto de datos resultante) al devolver el resultado de la consulta. | |
| Limita la cantidad de documentos en el primer mensaje OP_REPLY de la query. Sin embargo, la base de datos aún establecerá un cursor y devolverá el Si
| |
| Documento BSON que representa la query. La query contiene uno o más elementos, todos los cuales deben coincidir para que un documento se incluya en el conjunto de resultados. Los elementos posibles incluyen | |
| opcional. Documento BSON que limita los campos en los documentos devueltos. El |
La base de datos responderá a un mensaje OP_QUERY con un mensaje OP_REPLY.
Nota
MongoDB 5.1 remueve el soporte para ambas operaciones de búsqueda OP_QUERY y comandos OP_QUERY. Como excepción, OP_QUERY sigue siendo compatible para ejecutar los comandos hello y isMaster como parte del protocolo de enlace de conexión.
OP_REPLY
La base de datos envía el mensaje en respuesta OP_REPLY a un mensaje OP_QUERY u OP_GET_MORE. El formato de un mensaje OP_REPLY es:
struct { MsgHeader header; // standard message header int32 responseFlags; // bit values - see details below int64 cursorID; // cursor ID if client needs to do get more's int32 startingFrom; // where in the cursor this reply is starting int32 numberReturned; // number of documents in the reply document* documents; // documents }
Campo | Descripción |
|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. |
| Valores de bit para la operación: Los valores de bit corresponden a lo siguiente:
|
| El |
| Posición inicial en el cursor. |
| Número de documentos en la respuesta. |
| Documentos devueltos. |
OP_UPDATE
El mensaje OP_UPDATE se utiliza para actualizar un documento de una colección. Su formato es el siguiente:
struct OP_UPDATE { MsgHeader header; // standard message header int32 ZERO; // 0 - reserved for future use cstring fullCollectionName; // "dbname.collectionname" int32 flags; // bit values. see below document selector; // the query to select the document document update; // specification of the update to perform }
Campo | Descripción |
|---|---|
| Encabezado del mensaje. Consulta Encabezado de Mensaje Estándar. |
| Valor entero de 0. Reservado para uso futuro. |
| El nombre completo de la colección, específicamente su namespace. El namespace es la concatenación del nombre de la base de datos con el nombre de la colección, utilizando un |
| Valores de bit para la operación: Los valores de bit corresponden a lo siguiente:
|
| Documento BSON que especifica la query para la selección del documento que se va a actualizar. |
| Documento BSON que especifica la actualización a realizar. Para obtener información sobre cómo especificar las actualizaciones, consulte la documentación de Operaciones de actualización. |
No hay respuesta a un mensaje OP_UPDATE.