// 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); };