deno.land / x / mongoose@6.7.5 / examples / geospatial / person.js
123456789101112131415161718192021222324252627282930// import the necessary modules'use strict';
const mongoose = require('../../lib');const Schema = mongoose.Schema;
// create an export function to encapsulate the model creationmodule.exports = function() { // define schema const 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 mongoose.model('Person').find({ loc: { $nearSphere: this.loc }, name: { $ne: this.name } }).limit(1).exec(cb); };
mongoose.model('Person', PersonSchema);};
Version Info