1

这与 MongoDB 和 Node.js Mongoose 库有关。

我正在处理一种情况,即来自一个模式的大量数据需要在另一个模式中复制。我需要单独加载该数据或使用引用,因为数据需要是最新的(也就是经常更改)。这些频繁的更改使嵌入文档变得不切实际。

如果我要在一个对象中得到 5-10 个引用(并非总是如此,这可能是一个中高数字),​​这是一个坏主意吗?

如果这是一个坏主意,最好用另一个查询或一组查询分别查询每个所需的子文档?

更重要的是,我将把它们放在内存缓存后面,这样它就不会不断地重新加载。仅当缓存过期或文档更改时才会触摸它。

你的想法和经历?

根据一些请求,这里有一个示例和更多信息

var postSchema = new Schema({
    postType: String,
    created: {type: Date, default: Date.now},
    event: {type: Schema.Types.ObjectId, ref:'Event'},
    ...
});

在这种情况下,几乎每次都会加载事件。在大多数其他情况下,它只会有条件地加载。

为了回答规模的问题,这将是相当大量的使用。可能更接近数百万而不是数百。

告诉我,将事件对象缓存在redis(我们的缓存目标)中会更好吗,然后从那里调用它后加载,如果它不在缓存中,做一个单独的查询?我认为这可能是比参考更好的课程。同意?不同意?

4

0 回答 0