当前位置: 首页 > 知识库问答 >
问题:

Mongoose架构错误:“值转换为字符串失败”

邰勇军
2023-03-14

嗨,伙计们,我有一个错误,当我试图发送数组字符串与猫鼬模式其工作正常的标签,而不是selectedFile...

猫鼬模式:

import mongoose from "mongoose";

const postSchema = mongoose.Schema({
  title: String,
  message: String,
  name: String,
  creator: String,
  tags: [String],
  selectedFile: [String],
  likes: {
    type: [String],
    default: [],
  },
  comments: { type: [String], default: [] },
  createdAt: {
    type: Date,
    default: new Date(),
  },
});

const PostMessage = mongoose.model("PostMessage", postSchema);

export default PostMessage;

controller.js

export const createPost = async (req, res) => {
  const post = req.body;
  console.log(post);
  const newPostMessage = new PostMessage({
    ...post,
    creator: req.userId,
    createdAt: new Date().toISOString(),
  });
  try {
    await newPostMessage.save();

    res.status(201).json(newPostMessage);
  } catch (error) {
    res.status(409).json({ message: error.message });
  }
};

类型js

const onChange = async (event) => {
    dispatch({ type: START_LOADING });
    let imgArr = "";
    let obj = event.target.files;
    for (let i = 0; i < obj.length; i++) {
      try {
        const file = obj[0];
        const image = await resizeFile(file);
        imgArr.push(image);
      } catch (err) {
        console.log(err);
      }
    }
    setPostData({ ...postData, selectedFile: ["imgArr"] });
    dispatch({ type: END_LOADING });
  };

对于测试,我将dammy值设置为[“imgar”],并收到以下错误消息:“PostMessage验证失败:selectedFile:在路径“selectedFile”处为值“['imgar']”(键入数组)转换为字符串失败

我能做什么?记住标签的作用是他接受字符串数组

共有1个答案

狄珂
2023-03-14

我找到了解决办法

JSON.stringify (imgArr)

它解决了我的问题

 类似资料:
  • ()中的ValueError回溯(最近一次调用)---- ~\Anaconda3\lib\site packages\sklearn\preprocessing\data.py in fit_transform(self,X,y)2017”““2018年返回所选的fit_transform(X,self.\u fit_transform- ~\Anaconda3\lib\site-包\skLear

  • 问题内容: 我一直收到错误消息“从字符串转换为uniqueidentifier时转换失败”,终于到了尽头。我已将问题缩小到尽可能小的范围,同时使错误保持不变。如果要复制,请先从此处安装CSV拆分器: http://www.sqlservercentral.com/articles/Tally+Table/72993/ 这是测试代码。我使用的是SQL 2008R2,但位于与SQL 2005兼容的数据

  • 当我尝试更新DB中的文档时,发生了一些错误。 以下是模式: 然后我从其他地方得到一些产品: 并更新Mu文档。请注意,我为“描述”设置了一个条件:如果它有空值,它将被更新——否则它将保持不变: } Go update(我使用mongoose):产品。updateOne({name:some_product.name},newProduct,{some params}) 我看到: 对于路径“descr

  • 问题内容: 我需要将(4个字节)的char转换为其他字符(在Python中)。这是将其插入到我的utf-8 mysql数据库中,而不会出现诸如以下的错误:“不正确的字符串值:行1的’行’的’\ xF0 \ x9F \ x94 \ x8E’ 通过向mysql插入4字节的unicode引发的警告显示了这样做的方法: 但是,在注释“ …错误的字符范围..”中,我得到与用户相同的错误,这显然是因为我的Py

  • 问题内容: 在SQL 9(2005)中创建了一个存储过程,此后已升级到SQL 10(2008)。从那时起,以下存储过程停止工作并引发上述错误: 传入的参数@vPortalUID包含:2A66057D-F4E5-4E2B-B2F1-38C51A96D385。我执行这样的存储过程: 它跌倒了。我也尝试过转换。仍然没有喜悦。也具有将{}括起来的价值。我如上所述以编程方式和手动方式删除了这些内容。 如果您