// import the necessary modules var mongoose = require('../../lib'); var Schema = mongoose.Schema; // create an export function to encapsulate the model creation module.exports = function() { // define schema var PersonSchema = new Schema({ name: String, age: Number, birthday: Date, gender: String, likes: [String], // define the geospatial field loc: {type: [Number], index: '2d'} }); // define a method to find the closest person PersonSchema.methods.findClosest = function(cb) { return this.model('Person').find({ loc: {$nearSphere: this.loc}, name: {$ne: this.name} }).limit(1).exec(cb); }; mongoose.model('Person', PersonSchema); };