Meteor Package for Advanced Querying
Summary of my bookmarked Github repositories from Oct 26th, 2015
The 'useful:collection-views' package enhances the functionality of collections in Meteor by providing a 'where' method. This method allows you to narrow your queries by specifying a query or a function that returns a query. The package modifies the Mongo.Collection prototype and is incompatible with 'matb33:meteor-collection-hooks'. However, an experimental collection hooks package is available as an alternative. By adding the 'useful:collection-views' package to your Meteor app, you can utilize the 'where' method on your collections. The 'where' method supports various operations such as finding, updating, and removing documents based on specified queries.
Connectivity is a Meteor package that helps detect slow connections. To use it, add the package to your Meteor app and include the `monitor` method in your client code. The `monitor` function allows you to define callbacks for handling slow connections and errors. It also provides options to customize the maximum accepted latency and the retry interval for pings. The package offers additional functions such as `isSlow`, which indicates if the connection is slow, `latency`, which returns the current latency value, and `strength`, which gives the connection strength on a scale of 0 to 2. A sample implementation demonstrates using `strength` to create a phone-style signal indicator.
The "useful:collection-override" package enables you to override the default server-side collection operations in Meteor. By adding this package and implementing the necessary functions, you can perform manipulation or authentication checks before inserting, updating, or removing documents in a collection. The original methods generated by Meteor can still be accessed via the "originalMethods" property for cases where you need to run them. This package is beneficial when you want to apply custom validation or document creation logic on the server while maintaining a simple interface for collection operations on the client-side. It eliminates the need for explicitly creating and calling new Meteor.methods.