私はこのようなものを実装しようとしています:
/* We use the command pattern to encode actions in
a 'command' object. This allows us to keep an audit trail
and is required to support 'undo' in the client app. */
CommandQueue.insert(command);
/* Queuing a command should trigger its execution. We use
an observer for this. */
CommandQueue
.find({...})
.observe({
added: function(command) {
/* While executing the action encoded by 'command'
we usually want to insert objects into other collections. */
OtherCollection.insert(...)
}
});
OtherCollection
残念ながら、meteorはでトランザクションを実行している間、以前の状態を維持しているようですCommandQueue
。に一時的に変更が加えられますOtherCollection
。ただし、トランザクションがCommandQueue
終了するとすぐに、の以前の状態OtherCollection
が復元され、変更が消えます。
なぜこれが起こっているのか考えはありますか?これは意図された動作ですか、それともバグですか?