 PREDICATE: mdb-reply-op < integer OP_Reply = ;
 PREDICATE: mdb-query-op < integer OP_Query = ;
 PREDICATE: mdb-insert-op < integer OP_Insert = ;
+PREDICATE: mdb-update-op < integer OP_Update = ;
 PREDICATE: mdb-delete-op < integer OP_Delete = ;
 PREDICATE: mdb-getmore-op < integer OP_GetMore = ;
 PREDICATE: mdb-killcursors-op < integer OP_KillCursors = ;

    [ >>collection ] dip
    >>objects OP_Insert >>opcode ;

: <mdb-reply-msg> ( -- mdb-reply-msg )
    mdb-reply-msg new ; inline


{ collection string }
{ objects sequence } ;

TUPLE: mdb-update-msg < mdb-msg
{ collection string }
{ upsert? integer initial: 1 }
{ selector assoc }
{ object assoc } ;

TUPLE: mdb-delete-msg < mdb-msg
{ collection string }
{ selector assoc } ;
