![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
mongodb-explain-plan-model
Advanced tools
Readme
Ampersand model abstraction for MongoDB explain plans.
Parses the JSON output of the explain cursor option in MongoDB, which provides useful information about the query planning and execution stats.
Currently, this model only works on regular queries and not for the Aggregation Framework.
Here is an example with the node.js driver to populate an explain plan model for a given query:
var MongoClient = require('mongodb').MongoClient;
var ExplainPlanModel = require('mongodb-explain-plan-model');
MongoClient.connect('mongodb://localhost:27018/mongodb', function(err, db) {
db.collection('fanclub')
.find({age: {$gte: 33, $lte: 40}})
.explain(function(err2, explain) {
var model = new ExplainPlanModel(explain, {parse: true});
console.log(model.executionSuccess); // ==> true
console.log(model.isCovered); // ==> false
console.log(model.isCollectionScan); // ==> false
console.log(model.usedIndex); // ==> "age_1"
console.log(model.inMemorySort); // ==> false
console.log(model.nReturned); // ==> 191665
console.log(model.executionTimeMillis); // ==> 146
// ...
db.close();
});
});
To access the raw information of any execution stage, you can use the
.findStageByName()
method. This walks the tree of stage (depth-first,
pre-order) and returns the first stage matching the name (or null
if
the stage is not present).
For example, to get information about the
IXSCAN
stage, use:
var ixscan = model.findStageByName('IXSCAN');
if (ixscan) {
console.log('IXSCAN took', ixscan.executionTimeMillisEstimate, 'ms.');
} else {
console.log('no IXSCAN stage found.');
}
This model works best with explain plan output from MongoDB 3.0 and higher,
but it does have a legacy mode and tries to infer the values from older formats.
However, depending on the explain plan, some fields may be null
for older
formats.
If the explain plan is from an older (2.6 or below) version, the legacyMode
flag is set to true.
FAQs
Ampersand model abstraction for MongoDB explain plans (3.0+)
The npm package mongodb-explain-plan-model receives a total of 4 weekly downloads. As such, mongodb-explain-plan-model popularity was classified as not popular.
We found that mongodb-explain-plan-model demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 28 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.