Разбрахте почти правилно. Опитайте това:
db.privateMessages.find( { $or : [ {fromId: userId, toId: socket.userId} ,
{fromId: socket.userId, toId: userId} ] },
{},
{ limit : 2 },
function(err, messages) { pushSvdMsgs(messages); });
Синтаксисът е find(query, fields, options)
. Имаме нужда от този празен обект, за да накараме драйвера да интерпретира правилно опциите.