Cómo lograr la reversión en las transacciones en mongo?

Estoy usando la mangosta sobre mongodb.

De una solicitud y la respuesta de nodejs express server, por lo general requiere un número de consultas a mongodb a través de la mangosta.

En muchos casos, puede suceder, si en primer lugar algunas de las consultas se ejecuta correctamente y el resto de todos los no en virtud de una transacción.

Ahora tengo que deshacer de mi db de estado hasta el estado inicial de la db.

Entonces, ¿cómo puedo deshacer de manera eficiente en mongodb?
Sírvanse proporcionar algunas referencias apropiadas.

Si usted desea encajar con MongoDB funcionalidad, una “compensación” de la transacción es a menudo una opción útil. En este caso, sería “deshacer” lo que los cambios fueron realizados.
las consultas no cambio de documentos. ¿qué es exactamente lo que usted desea deshacer?

OriginalEl autor codeofnode | 2014-01-31

3 respuestas

  1. 4

    Estoy de acuerdo con Héctor. Si usted necesita de múltiples documentos de las transacciones, a continuación, Mongo podría no ser un buen ajuste para usted. Puede incrustar su estructura de datos en un solo documento? Entonces usted puede conseguir la reversión de que usted está buscando.

    Otra opción es buscar en el Mongo clon TokuMX que proporciona las transacciones a través de varios documentos.

    TokuMX las transacciones no son compatibles con la fragmentación.
    Desde MongoDB 4.0.0 (y Mangosta 5.2.0) ahora hay soporte para las Transacciones en MongoDB. mongoosejs.com/docs/transactions.html

    OriginalEl autor Dharshan

  2. 1

    No hay soporte para las tradicionales ÁCIDO transacciones de base de datos en MongoDB, independientemente de lo que ponga en la parte superior de la misma. Este no es un problema con la Mangosta o Express.js es una característica de MongoDB.

    MongoDB soporta operaciones atómicas que significa que el ahorro para una colección es garantía de éxito completamente o fallar, en otras palabras, usted no recibirá actualizaciones parciales de un mismo documento en una colección. Pero no hay soporte para multi-actualizaciones en una sola transacción.

    http://docs.mongodb.org/manual/faq/fundamentals/#does-mongodb-support-transactions

    Es allí cualquier manera de manejar estos múltiples las transacciones de consulta de reversión??
    Si realmente este es su caso, le sugiero que considerar si MongoDB es la elección correcta para su proyecto. Tal vez usted debe utilizar un tradicional relacional de la base de datos que soporta esta fuera de la caja.

    OriginalEl autor Hector Correa

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *