anchor.diff:      mongo_regex_options_for_re_module_options(Rest, [$m|Acc]).
   
   % Boss and MongoDB have a different conventions to id attributes (id vs. '_id').
  --spec(attr_value(id|string(), proplist('_id'|string(),string())) -> string()|undefined).
  +-spec attr_value(atom()|string(), proplist(atom()|string(),string())) -> maybe(string()).
  +
   attr_value(id, MongoDoc) ->
       proplists:get_value('_id', MongoDoc);
   attr_value(AttrName, MongoDoc) ->
  
positive.code:     case Res of
          {ok, ok}			-> {ok, Record};
          {ok, Id}			-> {ok, Record:set(id, unpack_id(Type, Id))};
          {failure, Reason}		-> {error, Reason};
          {connection_failure, Reason}	-> {error, Reason}
      end.
  
  execute_save_record(Conn, Record, Collection, DefinedId) ->
  
negative.code: -module(boss_db_adapter_mongodb).
  -behaviour(boss_db_adapter).
  -include_lib("mongodb/include/mongo_protocol.hrl").
  -export([start/1, stop/0, init/1, terminate/1, find/2, find/7]).
  -export([count/3, counter/2, incr/2, incr/3, delete/2, save_record/2]).
  -export([execute/2, transaction/2]).
  