mongodb-mql-engines
v0.0.4
Published
Exposes, on demand, engines used by the MongoDB IntelliJ Plugin for index suggestions.
Readme
mongodb-mql-engines
Exposes, on demand, engines used by the MongoDB IntelliJ Plugin for index suggestions.
Example Usage:
const mql = require('mongodb-mql-engines');
const sampleDocuments = [ { a: 1, b: 2 }, { a: 5, b: true } ]
const ns = mql.analyzeNamespace({ database: "mydb", collection: "mycoll" }, sampleDocuments)
const query = mql.parseQuery({ a: 1, b: 2 }, ns)
const index = await mql.suggestIndex([ query ])
console.log(index);Expected output:
{ index: { a: 1, b: 1 }, coveredQueries: [ { a: 1, b: 2 } ] }API
analyzeNamespace(namespace: { database: String, collection: String }, sampleDocuments?: Array): Namespace
Creates a new namespace reference with the data distribution calculated from the sample documents. If no sample documents are provided, it won't use this information for suggesting indexes or running any other engine.
The more documents are provided as a sample, the better the index suggestion will be.
mql.parseQuery(query: Json, namespace: Namespace): Query
Parses a JSON query, defined as plain JSON or relaxed EJSON and attaches it to the provided namespace.
mql.suggestIndex(queries: Array): SuggestedIndex
Analyses all the provided queries and returns the best index to cover all of them. In case only a single query is analysed, provide an array with that single query.
