使用MongoDBdevise数据库文档时出现混乱
我用这样来devise“桌子”
teacher - id - name student - id - teacher_id - name
假设1位老师可以有很多学生,所以我把teacher_idjoin。
但在noSql为什么我应该做多个文件? 我可以把所有东西都放在user
并使用嵌套的对象
user = {[ id:1, type:teacher student:[{ id:321 }] ]}
想象一下,我的应用程序需要在不同的选项卡中检索教师和学生的列表,仍然使用模型我可以获取我需要的数据,我只是在客户端进行过滤/操作,对吗?
如果你使用nodejs
那么我首选你在你的节点上使用moongose
npm。它使用模式和模型限制。你的方法在RDBMS
是好的,但是在mongo中,你避免了连接。
按照您的要求和数据可用性以及read or write
操作的使用情况来匹配这种模式
var mongoose = require('mongoose'); var Schema = mongoose.Schema;
var Teachers = new Schema({ //_id: ObjectId, "name": { "type": String, }, "students": [{ name: String }] }) module.exports = mongoose.model('Teachers', Teachers);
它避免了你的join。他们与各自的学生一起pipe理所有的老师。
您可以在服务器端进行过滤,并将过滤的数据发送到客户端。 这样更有效率