El mejor tutorial de operaciones atómicas MongoDB en 2024. En este tutorial podrás aprender modelo de datos atómica,operaciones atómicas de uso común comandos,

operaciones atómicas MongoDB

mongodb no admite transacciones, por lo tanto, en la aplicación de su proyecto, prestar atención a este punto. Cualquiera que sea el diseño, no nos preguntamos mongodb garantizar la integridad de los datos.

Pero mongodb ofrece muchas operaciones atómicas, como guardar un documento, modificar, borrar, etc., son operaciones atómicas.

O bien esta es la denominada operación atómica para guardar el documento en MongoDB, o no se guarda en MongoDB, el documento no tiene que consultar intacta no va a ocurrir.


modelo de datos atómica

Considere el siguiente ejemplo, libros de la biblioteca y la información de la transacción.

En un ejemplo ilustra cómo garantizar que el mismo documento incrustado campos relacionados con las operaciones atómicas (actualización) Campos están sincronizados.

book = {
          _id: 123456789,
          title: "MongoDB: The Definitive Guide",
          author: [ "Kristina Chodorow", "Mike Dirolf" ],
          published_date: ISODate("2010-09-24"),
          pages: 216,
          language: "English",
          publisher_id: "oreilly",
          available: 3,
          checkout: [ { by: "joe", date: ISODate("2012-10-15") } ]
        }

Puede utilizar el método db.collection.findAndModify () para determinar si los libros se pueden actualizar con el nuevo asentamiento y la información de facturación.

Incrustado en el mismo documento disponible y de pago y envío campos para asegurar que estos campos se sincronizan al día:

db.books.findAndModify ( {
   query: {
            _id: 123456789,
            available: { $gt: 0 }
          },
   update: {
             $inc: { available: -1 },
             $push: { checkout: { by: "abc", date: new Date() } }
           }
} )

operaciones atómicas de uso común comandos

$ Set

Se utiliza para especificar una clave y actualizar la clave, si la clave no existe y crear.

{ $set : { field : value } }

$ No definido

Para eliminar una clave.

{ $unset : { field : 1} }

$ Inc

$ Inc puede ser un valor numérico de las teclas para aumentar o disminuir las operaciones de documentos (sólo para cumplir con los requisitos de la tecnología digital).

{ $inc : { field : value } }

$ Empuje

uso:

{ $push : { field : value } }

El valor añadido al campo para ir en el interior, tiene que ser un trabajo de campo de tipo array, si el campo no existe, un nuevo tipo de matriz añadió.

$ PushAll

Con $ empujón, pero una vez que puede anexar varios valores en un campo de matriz.

{ $pushAll : { field : value_array } }

$ Tire

Para eliminar un campo de una matriz de valor igual valor.

{ $pull : { field : _value } }

$ AddToSet

La adición de un valor en la matriz, y sólo cuando el valor no está dentro de la matriz de aumentar.

$ Pop

El primero o el último elemento de la matriz de borrado

{ $pop : { field : 1 } }

$ Cambiar nombre

Modificar el nombre del campo

{ $rename : { old_field_name : new_field_name } }

$ Bit

operaciones de bits, tipo entero

{$bit : { field : {and : 5}}}

operador de desplazamiento

> t.find() { "_id" : ObjectId("4b97e62bf1d8c7152c9ccb74"), "title" : "ABC", "comments" : [ { "by" : "joe", "votes" : 3 }, { "by" : "jane", "votes" : 7 } ] }
 
> t.update( {'comments.by':'joe'}, {$inc:{'comments.$.votes':1}}, false, true )
 
> t.find() { "_id" : ObjectId("4b97e62bf1d8c7152c9ccb74"), "title" : "ABC", "comments" : [ { "by" : "joe", "votes" : 4 }, { "by" : "jane", "votes" : 7 } ] }
operaciones atómicas MongoDB
10/30