示例#1
0
// ** Films::connect
bool Films::connect( const std::string& host, const std::string& source, const std::string& target )
{
    m_source = ConnectionPtr( new Connection( host, source ) );
    m_target = ConnectionPtr( new Connection( host, target ) );
/*
    // ** Ensure indices
    m_source->collection( "items" )->ensureIndex( "idxItemId",      DOCUMENT( "itemId" << 1 ), true  );
    m_source->collection( "users" )->ensureIndex( "idxUserId",      DOCUMENT( "userId" << 1 ), true  );
    m_source->collection( "votes" )->ensureIndex( "idxVoteItemId",  DOCUMENT( "itemId" << 1 ), false );
*/
    // ** Create iterator
    m_items = new StreamedFilms( *this, m_source );

    // ** Get the similarity & shared quartiles
    DocumentPtr info      = m_target->collection( "info" )->findOne( QUERY( "type" << "similarity" ) );
    m_similarityQuartiles = info->numbers( "similarity" );
    m_sharedQuartiles     = info->numbers( "shared" );

    return true;
}