Tag: 非规范化

mongoose互相embedded的文件

我有这些集合的mongoDb数据库 collection: Category { id: catnumber: nameNL: nameFR: subcategories:[id:, nameNL:, nameFR] products:[id,nameNL,nameFR] } Collection: Product { id: nameNL: nameFR: descriptionNL: descriptionFR: code1: code2: categories:[id:,nameNl:,nameFR] image: } 正如你所看到的,我反规范的fields.Now我不知道如何链接这与mongoose模式。 我有这个,但是这似乎并不正确: var Schema = mongoose.Schema; var ProductSchema = new Schema({ _id: Number, nameNL: String, nameFR:String, descriptionNL:String, descriptionFR:String, code1:String, code2:String, categories: [CategorySchema._id,CategorySchema.nameNL,CategorySchema.nameFR] }); var CategorySchema = new Schema({ _id:Number, […]

elasticsearch:保留冗余(非规范化)的数据或保留一个交叉引用的ID列表?

将冗余数据存储在索引中还是有两个索引,然后交叉引用它们会更好吗? 即,用户想要在剧院看电影。 由于用户有兴趣通过剧院查看电影,所以我们可以有电影nested_type的剧院索引: // Here, movies field will be a Nested Type, not Object Type. eclient.index({ index: 'myindex', type: 'theater', id: 1, body: { name: "Grand Cinema", description: "Come watch movies!", movies: [ { title: "Red November", description: "A submarine hunt", rated: "R", score: 10.0 }, { title: "Cinderbrella", description: "A burnt umbrella", rated: "PG", […]

用Mongoose反规范化:如何同步更改

有非规格化架构时传播更新的最佳方式是什么? 应该全部在同一个function上完成吗? 我有这样的模式: var Authors = new Schema({ … name: {type: String, required:true}, period: {type: Schema.Types.ObjectId, ref:'Periods'}, quotes: [{type: Schema.Types.ObjectId, ref: 'Quotes'}] active: Boolean, … }) 然后: var Periods = new Schema({ … name: {type: String, required:true}, authors: [{type: Schema.Types.ObjectId, ref:'Authors'}], active: Boolean, … }) 现在说我想对作者进行非规范化处理,因为period字段总是使用句号的名称(这是唯一的,不能有两个同名的句号)。 然后说,我把我的模式变成这样: var Authors = new Schema({ … name: {type: […]