Meteor Collections Re-Imagined
JavaScript Shell
Latest commit a41d13f Apr 24, 2014 @arunoda Update

This is a archived project

Smart Collection is now retired & Meteor's Collection implementation has fixes for most of the performance bottlenecks. It is also using the MongoDB oplog just like Smart Collections.

Meteor Smart Collections Build Status

This is a complete re-write of the MongoDB Collection implementation for Meteor. Designed with following 3 areas in mind

  • Speed
  • Efficiency (Memory & CPU)
  • Scalability

This is not a toy project! But a complete Collection replacement with a well tested source code. Still we might have bugs :)

Click here for implementation details of Smart Collections


Install Smart Collections from Atmosphere

mrt add smart-collections

Install From Git (If you are not using Meteorite)

mkdir -p packages
#make sure you created the packages folder
git submodule add packages/smart-collections


Replace Meteor.Collection with Meteor.SmartCollection. Just that!


//old code
Posts = new Meteor.Collection('posts');

//with smart collections
Posts = new Meteor.SmartCollection('posts');


  • Almost compatible with exiting Collection API
  • But server side Cursor.observe() does not exists
  • _id must be a String (will support ObjectID and numbers soon)


  • Can be easily scaled with mongodb oplog
  • Follow this guide on how to scale meteor with Smart Collections.