User's with multiple roles or groups

Not sure of your desired implementation using MongoDB. (Of course you can definitely use MongoDB as a DB service connected to DreamFactory.)

But in DreamFactory 1.x users are limited to a single role. In v2.0 this is expanded to natively take care of an implementation like you described, with multiple roles per user depending on the API key the user uses to make his API call (i.e., a single user may have a different role defined per API key). Sign up for the v2.0 beta testing here if you haven’t already.