有 A B C 栏目,每个栏目有 1 个视频集合。建了 4 个 collection 如下
Program=[{name:'A',videos:***},{name:'B',videos:***},{name:'C',videos:***}] A_videos=[{url:xxx},{url:xxx}.......] B_videos=[{url:xxx},{url:xxx}.......] C_videos=[{url:xxx},{url:xxx}.......] A_videos, B_videos, C_videos 都已经存好数据了,可是 Program 这个 collection 搞不定。。
我想把 Program 中每个栏目( A,B,C )中的 videos 都直接关联到相应的 collection 上( A.videos -> A_videos ),怎么写都不对。。。
Google 到的也都是联合查询方法,建表大致都是说把 全部 videos[X].ObjecID 丢到 Program 的 videos 中。
不能直接指定 Program[X].videos 的 key-value 为 collection 么? 求教。。。 搞了一天要疯了 T.T
我写的 Program 参数如下 ( node / mongoose )
const ObjectId = Schema.Types.ObjectId; const ProgramSchema = new mongoose.Schema({ name: String, videos: { type: ObjectId, ref: null } }) const Program = mongoose.model('Programs', ProgramSchema) cont PRO_LIST = [ { name: 'A', vName: 'A_videos' }, { name: 'B', vName: 'B_videos' }, { name: 'C', vName: 'C_videos' }, ] ProList.forEach((v) => { v.vName = { type: ObjectId, ref: v.vName } Program.update({ name: v.name }, v, { upsert: true }, (err, res) => { if (err) { console.log('err', err) } else { console.log('ok', res) } }) }) 