首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >架构路径“user.type”的值无效

架构路径“user.type”的值无效
EN

Stack Overflow用户
提问于 2018-06-06 07:27:49
回答 1查看 3.8K关注 0票数 1

在我创建了post模型、post api和that.Here验证后,我收到了一个错误,这三个文件都是我创建的,.The错误是模式路径'user.type‘的无效值,但是我不能理解这个错误在说什么。

代码语言:javascript
复制
 // to use a router we need to brinmg express there
const express=require('express');
const router=express.Router();
const mongoose = require('mongoose');
const passport = require('passport');
// Post model
const Post = require('../../models/Post');
// Profile model
const Profile = require('../../models/Profile');

// Validation
const validatePostInput = require('../../validation/post');

router.get('/test',(req,res)=>res.json({msg:"Posts Works"}));
module.exports=router;
// @route   POST api/posts
// @des create Post
// @access  Private
router.post('/',passport.authenticate('jwt',{session:false}),(req,res)=>{
  const{errors,isValid}=validatePostInput(req.body);
     if(!isValid){
         return res.status(400).json(errors);
     }
    const newPost=new POST({
      text:req.body.text,
      name:req.body.name,
      avatar:req.body.avatar,
      user:req.user.id
    });
newPost.save().then(post=>res.json(post));

});

这是post的模型

代码语言:javascript
复制
const mongoose=require('mongoose');
const Schema=mongoose.Schema;
const PostSchema=new Schema({
  user:{
    type:Schema.Types.OnjectId,
    ref:'users'
  },
  text:{
    type:String,
    required:true
  },
  name:{
    type:String
  },
  avatar:{
    type:String
  },
  likes:[
    {
      user:{
        type:Schema.Types.OnjectId,
        ref:'users'
      }
    }
  ],
  conmments:[
    {
      user:{
        type:Schema.Types.OnjectId,
        ref:'users'
      },
      text:{
        type:String,
        required:true
      },
      name:{
        type:String
      },
      avatar:{
        type:String
      },
      date:{
         type:Date,
         default:Date.now
      }

    }
  ],
  date:{
     type:Date,
     default:Date.now
  }
});
module.exports=Post=mongoose.model('post',PostSchema);

这是一个错误,它清楚地表明错误只与post api有关,但我无法弄清楚这一点。

代码语言:javascript
复制
throw new TypeError('Invalid value for schema path `' + prefix + key + '`');
      ^

TypeError: Invalid value for schema path `user.type`
    at Schema.add (C:\Users\satyajeet\Desktop\socialnetwork-master\node_modules\mongoose\lib\schema.js:349:13)
    at Schema.add (C:\Users\satyajeet\Desktop\socialnetwork-master\node_modules\mongoose\lib\schema.js:362:14)
    at new Schema (C:\Users\satyajeet\Desktop\socialnetwork-master\node_modules\mongoose\lib\schema.js:93:10)
    at Object.<anonymous> (C:\Users\satyajeet\Desktop\socialnetwork-master\models\Post.js:3:18)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\satyajeet\Desktop\socialnetwork-master\routes\api\posts.js:7:14)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
EN

回答 1

Stack Overflow用户

发布于 2018-06-06 07:33:24

Schema.Types.OnjectId键入错误。应该是Schema.Types.ObjectId。它发生在整个Schema定义中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50710255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档