我和我的合伙人到处搜索,并尝试使用Mongo文档进行所有操作,以查找如何插入和更新新模式以及更新数据库中的所有文档。我们没有运气。现在,我们正在尝试在数据库中的所有当前文档上添加两个新字段。两者都是我们更新了架构的数组字段,但文档本身未显示任何内容。我也完全知道,有很多类似的问题,但我想看看是否有人能解决我们的问题,因为它似乎对其他人有用,但对我们不利。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
//Schema for how we define a movie object
const MovieSchema = new Schema({
id: {
type: Number
},
title: {
type: String
},
year: {
type: Number
},
rating: {
type: String //(PG, PG-13, R, NR, MA)
},
cast: {
type: [String], //Hold multiple cast members based on how many the user types in
default: undefined
},
quotes: {
type: [String],
default: undefined
},
genres: {
type: [String],
default: undefined
},
synopsis: {
type: String
},
imageURL: {
type: String
},
bannerURL: {
type: String
}
})
const Movie = mongoose.model('movies', MovieSchema);
module.exports = Movie;
这些是将添加到所有文档中的新字段
comments:{
type: [String],
default: undefined
},
characters: {
type: [String]
default: undefined
}
我们已经通过命令行完成了大多数mongo函数,并且除非没有办法,否则宁愿那样做
答案 0 :(得分:0)
假设您已经将模式更新为具有两个新字段:
Movie.find()
.then((allMovies) => {
allMovies.forEach((movieSchema) => {
//create two new fields in each schema
movieSchema.comments = []
movieSchema.characters = []
//save the schema we updated
movieSchema.save()
})
})
.catch((errors) => {
return res.status(400).json({ nomoviesfound: "could not find movies"})
})