我有一组相同的文档,但可以根据用途分为两个不同的组。
其中一个群体,我们将其称为“当前群组”,其中查询的文档数量很少。
另一个群体,我们称之为“积压”,是一个大量的文件,经常被查询。
我的想法是,不要将这两种类型的同一文档混合在一起,这样我就可以查询非常活跃的“当前”文档,而无需每次都查看大量的“积压”。
这些应该是两个不同的系列还是相同的“汽车”系列?
mongo.collection('cars', function(err, cars){
cars.find({type:'new', color:'blue'}).toArray(function(err, newBlueCars) {
//do something with newBlueCars
});
});
mongo.collection('cars', function(err, cars){
cars.find({type:'used', color:'blue'}).toArray(function(err, usedBlueCars) {
//do something with usedBlueCars
});
});
OR
mongo.collection('cars.current', function(err, cars){
cars.find({color:'blue'}).toArray(function(err, currentBlueCars) {
//do something with newBlueCars
});
});
mongo.collection('cars.backlog', function(err, cars){
cars.find({color:'blue'}).toArray(function(err, backlogBlueCars) {
//do something with usedBlueCars
});
});
答案 0 :(得分:1)
您可以索引类型&颜色在一起并得到一个很好的响应时间,没有必要将它们分成两个集合,这对于可维护性来说不是一个好习惯。您可能需要在两者上执行相同的操作,但这样,您需要重复所有操作两次。
答案 1 :(得分:1)
我想我会发一个实际的答案,现在已经在评论中充分说明了(其他答案还不够好)。
将所有内容保存在一个集合中的好处是:
将所有内容保存在一个集合中的缺点是:
将它们分成两个集合的好处是:
将它们分成两个集合的缺点是: