使用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理所有的老师。
您可以在服务器端进行过滤,并将过滤的数据发送到客户端。 这样更有效率
- 使用node-soap在Node.js中通过Soap发送参数
- 有重复的时候如何从数组中删除* some *项? (Lodash / Underscore首选)
- HTML代码中获取文本
- 数组for each传递“push”作为参数
- Webpack vs webpack-dev-server vs webpack-dev-middleware vs webpack-hot-middleware vs等
- 错误:用node.js和imagemagick写EPIPE
- 在sails.js下使用SSL时,Passport.js无法初始化
- 你如何在Closure Compiler中将node_modules定义为extern?
- 为什么我不能在nowjs中扩展每个人的口袋?