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.
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 :)
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 https://github.com/arunoda/meteor-smart-collections.git packages/smart-collections
Replace Meteor.Collection
with Meteor.SmartCollection
. Just that!
eg:-
//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 aString
(will supportObjectID
andnumbers
soon)
- Can be easily scaled with mongodb
oplog
- Follow this guide on how to scale meteor with Smart Collections.