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