Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript express js和mongoose的一些概念部分_Javascript_Node.js_Mongodb_Mongoose_Mongoose Schema - Fatal编程技术网

Javascript express js和mongoose的一些概念部分

Javascript express js和mongoose的一些概念部分,javascript,node.js,mongodb,mongoose,mongoose-schema,Javascript,Node.js,Mongodb,Mongoose,Mongoose Schema,如果我在router.post调用中使用const homeModel=require('../models/home'),那么homeModel将为我提供整个homeModel对象。但是,当我在全局中使用const homeModel=require('../models/home')时 homeModel生成一个空对象({}) 为什么会这样 Routes/Comment.js const mongoose = require('mongoose'); const { post } = req

如果我在
router.post
调用中使用
const homeModel=require('../models/home')
,那么
homeModel
将为我提供整个
homeModel
对象。但是,当我在全局中使用
const homeModel=require('../models/home')
homeModel
生成一个空对象(
{}

为什么会这样

Routes/Comment.js

const mongoose = require('mongoose');
const { post } = require('../routes/auth');
const user = require('./user');

let homePageSchema = new mongoose.Schema({
    
    image: String,
    author: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'user'
        },
        name: String
    },

    postDescription: String,
    like: [ String ],
    disLike: [ String ],
    comments: [
        {
            type: mongoose.Schema.ObjectId,
            ref: 'comment'
        }
    ]
});

module.exports = mongoose.model('Home', homePageSchema);

const router=require('express')。router();
const userModel=require('../models/user');
const commentModel=require('../models/comment');
//导入中间件
常数{
授权中间件
}=需要('../middleware/middleware');
router.post('/comment/:id',AuthMiddleWare,(req,res)=>{
//重要的
const homeModel=require('../models/home');//{
如果(错误){
控制台日志(err);
}否则{
//查找当前用户
userModel.findOne({
电子邮件:req.session.passport.user
},(错误,用户)=>{
如果(错误){
控制台日志(err);
}否则{
//创建当前用户
//职位
//创建}
})
})
Models/home.js

const mongoose = require('mongoose');
const { post } = require('../routes/auth');
const user = require('./user');

let homePageSchema = new mongoose.Schema({
    
    image: String,
    author: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'user'
        },
        name: String
    },

    postDescription: String,
    like: [ String ],
    disLike: [ String ],
    comments: [
        {
            type: mongoose.Schema.ObjectId,
            ref: 'comment'
        }
    ]
});

module.exports = mongoose.model('Home', homePageSchema);
路线和路径在这里,照片在这里


const homeModel=require(“../models/home”);
将获得默认导出,该导出可能为空。这取决于在
'../models/home'
中导出的内容。添加您的主模型时,您的导出肯定存在一些问题。如果您共享
。/models/home
我更新了我的帖子……我认为我的模块导出正确,因为当我
时t homeModel=require('../models/home');
goball然后当它定义
const homeModel=require('../models/home');
router.post('/comment/:id'),它是给我整个homeModel对象时,它会给出一个{}/空的对象