【发布时间】:2012-04-20 14:50:52
【问题描述】:
我有一组相同的文档,但可以根据使用情况分为两个不同的组。
其中一个组(我们将其称为“当前”组)具有少量文档被大量查询。
另一组,我们将其称为“积压”,是查询频率较低的大量文档。
我的想法是,不混合这两种类型的同一文档将允许我查询非常活跃的“当前”文档,而无需每次都筛选大量“积压”。
这些应该在两个不同的集合中还是在同一个“汽车”集合中?
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
});
});
或
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
});
});
【问题讨论】:
-
你想一起查询它们吗?这是将它们保留在同一个集合中的有力论据。如果不是,那么两个集合可能是有意义的。
-
@WesFreeman 我可以为我所做的罕见事件使用集合名称间距吗?汽车.当前,汽车.积压
-
@fancy:是的,但我相信这将是两个查询而不是一个查询
-
@dji 我认为如果你命名空间,你可以只查询“汽车”集合,但实际过程仍然相当于两个不同的集合查询。是这个意思吗?
-
@fancy 它们将是两个独立的集合(jdi 是对的,独立的查询)。示例:gist.github.com/2431396
标签: javascript node.js mongodb