假设我有一个简单的用户架构:
var userSchema = new mongoose.Schema({
username: String,
password: String,
notifications: [{
message: String,
dateCreated: Date,
}]
});
module.exports = mongoose.model('user',userSchema);
但是如果我们有很多用户并且我们拆分了模型,那么通知它自己的集合是这样的:
var userSchema = new mongoose.Schema({
username: String,
password: String,
});
var notifsSchema = new mongoose.Schema({
message: String,
dateCreated: Date,
});
module.exports = function getModel(userId){
return mongoose.model('notifs_' + userId, notifsSchema)
}
所以我的问题是:如果我们按用户进行通知收集,那么我们有200个用户,因此有200个通知集合 - MongoDB足够聪明,能够以某种方式按集合名称编制索引吗?因此,如果我们有100,000个用户,MongoDB可以填充名为' notifs_394939329443'
的通知集合。