Files

29 lines
719 B
JavaScript
Raw Permalink Normal View History

2015-11-24 22:08:58 -08:00
// 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);
};