簡體   English   中英

方法表達式不是 Function 類型(貓鼬模型)

[英]Method expression is not of Function type (mongoose Model)

我今天遇到了這個錯誤,但沒有找到解決辦法。

 const mongoose = require('mongoose'); const userSchema = mongoose.Schema({ name: {type:String, required:false}, birthday: {type:String, required:false}, email: {type:String, required:false}, hobbies: {type:String, required:false}, picture: {type:String, required:false}, }); const User = mongoose.model("User",userSchema); module.exports = User;

如果你 hover over Schema 它會顯示錯誤:“Method expression is not of Function type” 我稍后在這里使用這個 Schema:

 const User = require("../models/user"); exports.createUser = (req, res, next) => { const url = req.protocol + "://" + req.get("host"); const user = new User({ name: req.body.name, birthday: req.body.birthday, email: req.body.email, hobbies: req.body.hobbies, picture: req.body.picture }); console.log(user); user.save().then((createdUser) => { console.log(createdUser); res.status(201).json({ message: "User added successfully", }); }).catch((error) => { res.status(500).json({ message: "Creating user failed,"; }); }); };

用戶的控制台日志如下:

{
  name: 'Chris',
  birthday: 'test',
  email: 'test',
  hobbies: 'test',
  picture: 'test',
  _id: new ObjectId("61c0a908e340bcdec1011de5")
}

_id不應包含新的 ObjectId,而應僅包含括號中的部分。 我希望您能找到解決此問題的方法或關於如何完成的想法。

根據最新的 Mongoose 文檔,如果您這樣重做:

import mongoose from 'mongoose';
const { Schema } = mongoose;
const userSchema = new Schema ({
  ...
});

這應該可以解決它,因此您正在創建一個 Schema object 的新實例,而不是調用 Schema“方法”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM