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