Layer separation in an MVC application with Expressjs, Mongoose, and Backbonejs

I want to create an application that can separate functionality out into modules, somewhat like WordPress does.

Technologies decided upon (so far) are Expressjs, Mongoose, and Backbonejs. First question is, am I missing any technologies that would be recommended for this type of application? (I know this is subjective but I'm looking for opinion)

As for my non-subjective question. I'm still new to these technologies and it seems like Mongoose's models actually act as an object I can instantiate and use within my application. I feel like this doesn't provide any level of separation between the model layer and others. ie. if I were to ever remove Mongoose it would be tightly woven within the application.

Would it be a better idea to have a separate definition that defined what each entity was and then hooked up to Mongoose in the Model layer to save to the DB or would that just defeat the purpose of Mongoose?

Part of what I'm struggling with is what role each framework plays within the system... so forgive me if I'm misunderstanding here.