javascript - 如何在 Mongoose 模型中定义方法?

我的 locationsModel 文件:

mongoose = require 'mongoose'
threeTaps = require '../modules/threeTaps'

Schema = mongoose.Schema
ObjectId = Schema.ObjectId

LocationSchema =
  latitude: String
  longitude: String
  locationText: String

Location = new Schema LocationSchema

Location.methods.testFunc = (callback) ->
  console.log 'in test'


mongoose.model('Location', Location);

要调用它,我正在使用:

myLocation.testFunc {locationText: locationText}, (err, results) ->

但我得到一个错误:

TypeError: Object function model() {
    Model.apply(this, arguments);
  } has no method 'testFunc'

最佳答案

您没有指定是要定义类方法还是实例方法。由于其他人已经涵盖了实例方法,here's如何定义类/静态方法:

animalSchema.statics.findByName = function (name, cb) {
    return this.find({ 
        name: new RegExp(name, 'i') 
    }, cb);
}

https://stackoverflow.com/questions/7419969/

相关文章:

mongodb - 在键值数据存储中存储目录层次结构

mongodb - 在 Mongo Compass 上按 ObjectId 搜索

php - Mongodb php获取新文档的ID?

mongodb - 在MongoDB中获取数组的第n个元素

ubuntu - MongoDB 仅在 Ubuntu 上以 root 身份运行时才有效 - 数据目录

mongodb - mongoexport 聚合导出到 csv 文件

mongodb - 在单个查询中从 mongo 中删除多个文档

mongodb - 在 MongoDB 中存储日期的最佳方式是什么?

ruby-on-rails - Mongoid 3 + Heroku (MongoHQ) 导致 Mo

node.js - 如何在 Mongoose 中执行 id 数组查询?