Would appreciate some suggestions on how I should model this data
NOTE to people with itchy downvote fingers: I know that OP has asked about MongoDB and the answer that follows is RDBMS.  However, if you check out the comments you'll see that I did ask why MongoDB and OP's answer is a presumption of necessity due to performance.  Since nobody has come forth with a Mongo-centric answer in four days, I am going to offer my suggestion, which is to let RDBMS do what it's good at.



Raladical, as I noted in my comments to your question, I think that what you are trying to build is perfectly suited to the relational data model.  Here is a quick data model sketch:



This model makes the following assumptions:


Users can have exactly one library. 
Users can have many playlists.
Songs can appear in any number of playlists.
Users can only put songs in a playlist if it's already in their library (Note that there is an easy way around this if that is not your intention.)
Depending on the constraints you put on LIBRARY_ITEM and PLAYLIST_ITEM you can have the same song exactly once or several times in both the library and any given playlist.


You can also easily extend this model to normalize for things like ARTIST and possibly even location, if that makes sense in your application.

This model is normalized (3NF) and if you index it properly it will be very performant.  If you really want MongoDB or if there is something else about your system that is well suited to non-relational then you can definitely do it that way.  If not, you should think about RDBMS for this one.