有 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)
}
})
})
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.