最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

module.find()不是函数

运维笔记admin12浏览0评论

module.find()不是函数

module.find()不是函数

我有一个预先存在的集合(在mongodb地图集上),我已经连接它并调用模块和模式,我可以控制日志它,到目前为止很好,但当我将模块导出到index.js我无法控制台记录它说的数据Model.find不是一个功能。

PS。我是新手

我的代码:

var mongoose = require('mongoose');
var uri = 'mongodb+srv://USER:[email protected]/test? 
retryWrites=true'
mongoose.connect(uri, {dbName: 'dbName'});
mongoose.Promise = global.Promise;


var connection = mongoose.connection;

connection.on('error', console.error.bind(console, 'connection error:'));
connection.once('open', function () {
var menuSchema = new mongoose.Schema({
    _id: mongoose.Schema.ObjectId,
    category: String,
    food_name: String,
    food_desc: String,
    food_price: String
});
var Menu = mongoose.model('Menu', menuSchema, 'menu');
Menu.find(function(err, menus){
    if(err) return console.err(err);
    console.log(menus);
})

module.exports = Menu;

});

此控制台正确记录我的数据

index.js

var express = require('express');
var router = express.Router();
var Menu = require('../models/menu')
var assert = require('assert')


/* GET home page. */
router.get('/', function(req, res, next) {
    Menu.find({}, function (err,menus) {
    assert.equal(err,null);
    res.send(menus);
});

});

module.exports = router;

这是我正在尝试将数据发送到HTML的地方

回答如下:

您似乎在connection.on()函数中定义和导出模型。尝试在单独的文件中定义它们,看看是否有帮助。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论