You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+MongoDB如何存储字符串数组?存入时生成空数组怎么解决

问题原因

你在实例化Mongoose模型时传参格式不符合要求:你定义的Schema中存储数组的字段名为names,但创建ImgArray实例时直接传入了imgNames数组本身,没有将数组绑定到names字段上,Mongoose无法识别到对应字段的赋值,因此只会存入默认的空数组。

修复方案

  1. 修改实例化模型时的传参格式,将数组挂载到names字段下:
import ImgArray from '../../Model/multiImages.js'

let imgNames = req.files.map(imgName=>{ 
    return imgName.originalname  
})

const imageArray = new ImgArray({ names: imgNames })
await imageArray.save()
  1. (可选优化)可以将Schema定义更严谨,明确指定数组内存储的是字符串类型,避免后续出现类型不匹配的问题:
const multiImagesSchema = mongoose.Schema({
    names: [String]
})

内容的提问来源于stack exchange,提问作者ASIF KAIF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:15:03