Skip to content

Instantly share code, notes, and snippets.

@AlphaGit
Created January 3, 2015 21:22
Show Gist options
  • Save AlphaGit/3e48471ef1a4c0565211 to your computer and use it in GitHub Desktop.
Save AlphaGit/3e48471ef1a4c0565211 to your computer and use it in GitHub Desktop.
mongo-faceted example
var mongoose = require('mongoose');
var mongoFacets = require('../lib/mongo-facets');
var ExampleSchema = new mongoose.Schema({
stringField: String,
numberField: Number,
arrayOfStringsField: [String]
});
mongoFacets('Example', ExampleSchema);
var ExampleModel = mongoose.model('Example', ExampleSchema);
/*
var testData = [
{ stringField: 'One', numberField: 1, arrayOfStringsField: ['Uno', 'Eins', 'Raz'] },
{ stringField: 'Two', numberField: 2, arrayOfStringsField: ['Dos', 'Zwei', 'Dva'] },
{ stringField: 'Three', numberField: 3, arrayOfStringsField: ['Tres', 'Drei', 'Tri'] }
];
// save this data in the database
*/
var filter = { $or: [{ stringField: 'One' }, { stringField: 'Two' }] };
ExampleModel.searchWithFacets(filter, function(error, results) {
/*
results: [
{ stringField: 'One', numberField: 1, arrayOfStringsField: ['Uno', 'Eins', 'Raz'] },
{ stringField: 'Two', numberField: 2, arrayOfStringsField: ['Dos', 'Zwei', 'Dva'] }
]
results.facets: {
stringField: ['One', 'Two'],
numberField: [1, 2],
arrayOfStringsField: ['Uno', 'Dos', 'Eins', 'Zwei', 'Raz', 'Dva']
}
*/
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment