Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
Node.js 在将属性保存到MongoDB之前更改其数据类型_Node.js_Mongodb_Mongoose_Mongoose Schema_Mern - Fatal编程技术网

Node.js 在将属性保存到MongoDB之前更改其数据类型

Node.js 在将属性保存到MongoDB之前更改其数据类型,node.js,mongodb,mongoose,mongoose-schema,mern,Node.js,Mongodb,Mongoose,Mongoose Schema,Mern,我在JSON文件中有一些关于电影的数据。它包含title、director、cast等键。我正在尝试将数据从JSON文件保存到MongoDB。这里的问题是,我想将当前采用字符串格式的“cast”“cast”:“Chris Burkard、Sam Hammer、Heidar Logi、Elli Thor Magnusson”的数据类型转换为类似于“cast”的数组:[“Chris Burkard”、“Sam Hammer”、“Heidar Logi”、“Elli Thor Magnusson”]

我在JSON文件中有一些关于电影的数据。它包含title、director、cast等键。我正在尝试将数据从JSON文件保存到MongoDB。这里的问题是,我想将当前采用字符串格式的“cast”
“cast”:“Chris Burkard、Sam Hammer、Heidar Logi、Elli Thor Magnusson”
的数据类型转换为类似于
“cast”的数组:[“Chris Burkard”、“Sam Hammer”、“Heidar Logi”、“Elli Thor Magnusson”]

我知道我可以在json上手动执行类似的操作

const obj = {
    title: "Some title",
    cast: "Chris Burkard, Sam Hammer, Heidar Logi"
}

const newObj = {
    ...obj,
    cast: obj.cast.split(",")
}
但我想用Mongoose或MongoDB来实现这一点

这是模式

const moviesSchema = new mongoose.Schema({
 // other properties schema,

    cast: {
        type: [String],
        required: [true, "The cast is required"],
    },

我现在该怎么办?我曾经尝试过使用MongoDB前置中间件,但要么我不理解它们,要么使用它们毫无意义

基本上,使用该工具将json导入到您的movies集合,然后通过运行上述任何脚本(在标记的重复答案中)进行转换,例如,
db.movies.aggregate([{“$addFields”:{“cast”:{“$split”:[“$cast”,”,“]}},{$out:“movies”}])